:root {
  --ink: #17202a;
  --muted: #697581;
  --soft: #8b98a4;
  --line: #dde5ea;
  --line-strong: #c9d5dc;
  --panel: #ffffff;
  --bg: #f3f6f7;
  --nav: #24282d;
  --nav-2: #30363d;
  --accent: #df3f58;
  --accent-dark: #b72d43;
  --accent-soft: #fff0f2;
  --gold: #4f6478;
  --gold-soft: #eef3f7;
  --danger: #b42318;
  --shadow: 0 14px 38px rgba(23, 32, 42, 0.08);
  --shadow-soft: 0 8px 22px rgba(23, 32, 42, 0.06);
  font-family: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
}

/* Desktop app owns quick customer registration; hide the duplicate in-page launcher. */
#customerQuickRegister {
  display: none !important;
}

/* 2026-06-24: operational polish layer for quality desk, command bar, and lighter OA shell. */
body {
  background:
    radial-gradient(circle at 18% 0%, rgba(127, 174, 232, .18), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(210, 228, 250, .30), transparent 32%),
    linear-gradient(180deg, #f3f8fd 0%, #eef6fb 42%, #f7fbff 100%) !important;
}

.content {
  background: transparent !important;
}

.app-command-bar,
.topbar.app-command-bar {
  position: sticky !important;
  top: 0;
  z-index: 60;
  min-height: 64px !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 520px) 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 10px 24px !important;
  border-bottom: 1px solid rgba(124, 151, 180, .18) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 10px 28px rgba(46, 71, 102, .06) !important;
  backdrop-filter: blur(18px);
}

.command-search {
  position: relative;
}

.command-search input {
  width: 100%;
  height: 42px;
  padding: 0 16px;
  border: 1px solid #d7e4ef;
  border-radius: 12px;
  background: #f8fbfe;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.command-search-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(520px, 86vw);
  padding: 8px;
  border: 1px solid #d8e4ef;
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 44px rgba(34, 58, 86, .14);
  z-index: 90;
}

.command-search-results button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 10px 12px;
  color: #1d2b39;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.command-search-results button:hover {
  background: #edf5ff !important;
}

.command-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 10px;
}

.command-btn {
  height: 38px;
  padding: 0 14px;
  color: #31465b !important;
  border: 1px solid #d8e4ef !important;
  background: #fff !important;
  box-shadow: none !important;
}

.command-btn:hover {
  color: #d73a55 !important;
  background: #f6faff !important;
}

.message-badge {
  position: absolute;
  top: 4px;
  right: 8px;
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: #d83b55;
  font-size: 11px;
}
#messageToggle {
  position: relative;
}

.command-panel {
  position: fixed;
  top: 74px;
  right: 26px;
  z-index: 85;
  width: min(420px, 90vw);
  max-height: calc(100vh - 100px);
  overflow: auto;
  padding: 14px;
  border: 1px solid #d8e4ef;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 60px rgba(34, 58, 86, .16);
}

.command-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.command-panel header button {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  color: #607080 !important;
  background: #f2f7fb !important;
  box-shadow: none !important;
}

.command-panel textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid #d7e4ef;
  border-radius: 12px;
  background: #fbfdff;
}

.action-dialog {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.36);
}

.action-dialog-card {
  width: min(460px, calc(100vw - 40px));
  border: 1px solid #d9e2ec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.18);
}

.action-dialog-card header,
.action-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
}

.action-dialog-card header {
  border-bottom: 1px solid #e6edf5;
}

.action-dialog-card header button {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
}

.action-dialog-card label {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.action-dialog-card textarea {
  width: 100%;
  min-height: 110px;
  resize: vertical;
}

.action-dialog-actions {
  justify-content: flex-end;
  border-top: 1px solid #e6edf5;
}

.mail-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.mail-item {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 11px 12px;
  text-align: left;
  color: #253445;
  border: 1px solid #dce8f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}

.mail-item.unread {
  border-color: #f1b4c0;
  background: #fff8fa;
}

.mail-item span,
.mail-item small {
  color: #6c7b88;
  font-size: 12px;
}

.toast-stack {
  position: fixed;
  right: 24px;
  bottom: 118px;
  z-index: 120;
  display: grid;
  gap: 10px;
  width: min(320px, 80vw);
}

.app-toast {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  text-align: left;
  color: #243242 !important;
  border: 1px solid #d7e4ef !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 44px rgba(34,58,86,.16) !important;
}

.app-toast span {
  color: #607080;
  font-size: 12px;
}

.home-hero-card.has-weather-bg {
  background:
    linear-gradient(110deg, rgba(255,255,255,.72), rgba(231,242,255,.58) 48%, rgba(255,255,255,.48)),
    var(--weather-bg) center/cover no-repeat !important;
}

.quality-shell {
  gap: 12px !important;
}

.quality-hero {
  min-height: auto !important;
  padding: 18px 20px !important;
  border-left: 0 !important;
  background: rgba(255,255,255,.92) !important;
}

.quality-hero #qualityViewHint {
  display: none !important;
}

.quality-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(112px, 1fr)) !important;
  gap: 10px !important;
}

.quality-stat {
  min-height: 72px !important;
  padding: 12px 14px !important;
  border: 1px solid #d8e5ef !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 24px rgba(46,71,102,.06) !important;
  cursor: pointer;
}

.quality-stat:hover {
  transform: translateY(-1px);
  border-color: #b8cfe4 !important;
  background: #f8fbff !important;
}

.quality-filter-panel {
  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(140px, 180px)) !important;
  gap: 10px !important;
  padding: 12px !important;
}

.quality-table-panel {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.quality-table-wrap {
  display: grid;
  gap: 12px;
}

.quality-card {
  padding: 14px 16px !important;
  border: 1px solid #dce8f2 !important;
  border-left: 4px solid #8fb7df !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 12px 30px rgba(46,71,102,.07) !important;
}

.quality-card.closed {
  border-left-color: #78b58c !important;
}

.quality-card.gate {
  border-left-color: #e7b45c !important;
}

.quality-card.overdue {
  border-left-color: #d83b55 !important;
}

.quality-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #edf2f6;
}

.quality-card > header strong {
  font-size: 15px !important;
}

.quality-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.quality-badges i {
  padding: 4px 8px;
  border-radius: 999px;
  font-style: normal;
  font-size: 12px;
  color: #405265;
  background: #eef5fb;
}

.quality-info-grid {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(96px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.quality-info-grid div {
  min-width: 0;
  padding: 7px 8px !important;
  border: 1px solid #e4edf5 !important;
  border-radius: 10px !important;
  background: #f9fcff !important;
}

.quality-info-grid span {
  display: block;
  margin-bottom: 3px;
  color: #7c8a98;
  font-size: 11px;
}

.quality-info-grid strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}

.quality-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.quality-detail-grid div,
.quality-progress,
.quality-attachment-block {
  padding: 9px 10px !important;
  border: 1px solid #e3edf5 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.quality-detail-grid b,
.quality-progress b,
.quality-attachment-block b {
  display: block;
  margin-bottom: 4px;
  color: #33475b;
  font-size: 12px;
}

.quality-detail-grid p {
  margin: 0;
  color: #26384a;
  font-size: 13px;
  line-height: 1.55;
}

.quality-attachments {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
  gap: 8px !important;
  margin: 8px 0 !important;
}

.quality-edit-form {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid #edf2f6 !important;
}

.quality-edit-form .wide {
  grid-column: span 2;
}

.quality-edit-form textarea {
  min-height: 72px !important;
  resize: vertical;
}

.quality-edit-form input,
.quality-edit-form select,
.quality-edit-form textarea {
  width: 100%;
  border-color: #d8e5ef !important;
  background: #fbfdff !important;
}

.quality-file-line {
  grid-column: span 2;
}

input[type="date"],
label:has(input[type="date"]) {
  cursor: pointer;
}

@media (max-width: 1280px) {
  .quality-stat-grid,
  .quality-info-grid,
  .quality-attachments {
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
  }

  .quality-filter-panel,
  .quality-edit-form,
  .app-command-bar,
  .topbar.app-command-bar {
    grid-template-columns: 1fr !important;
  }
}

/* App shell v80: fixed navigation chrome, adaptive work area. */
html,
body {
  height: 100% !important;
}

body:has(#appView:not(.hidden)) {
  overflow: hidden !important;
}

#appView.app-shell {
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 232px minmax(0, 1fr) !important;
  overflow: hidden !important;
}

#appView.app-shell.sidebar-collapsed {
  grid-template-columns: 74px minmax(0, 1fr) !important;
}

#appView .sidebar {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  z-index: 80 !important;
}

#appView .sidebar .brand {
  flex: 0 0 auto !important;
}

#appView .sidebar #nav,
#appView .sidebar nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: auto !important;
}

#appView .sidebar #logoutBtn {
  flex: 0 0 auto !important;
}

#appView .content {
  height: 100vh !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: auto !important;
}

#appView .topbar,
#appView .topbar.app-command-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
  flex: 0 0 auto !important;
  min-height: 74px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(214, 224, 235, .9) !important;
  background: rgba(255, 255, 255, .96) !important;
  backdrop-filter: blur(10px);
}

#appView .view {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

#customerView,
#appView .view:not(.hidden) {
  max-width: 100% !important;
}

#customerView .record-panel,
#customerView .panel,
#customerView section {
  min-width: 0 !important;
}

#customerView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

#customerView .customer-main-workarea {
  display: contents !important;
}

#customerView .customer-consult-form {
  grid-column: 1 !important;
}

#customerView .customer-processing-panel {
  grid-column: 2 !important;
  overflow: visible !important;
}

#customerView .customer-processing-panel .customer-process-info {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 6px !important;
  overflow: visible !important;
}

#customerView .customer-processing-panel .customer-process-info span {
  min-width: 0 !important;
  overflow: hidden !important;
}

#customerView .customer-processing-panel .customer-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
}

#customerView .customer-ledger-section,
#customerView .customer-ledger-table,
#customerView .customer-record-card,
#customerView .customer-record-grid {
  max-width: 100% !important;
}

#customerView .customer-ledger-table {
  overflow-x: auto !important;
}

#customerView .customer-record-grid {
  grid-template-columns: minmax(130px, 1.1fr) minmax(180px, 2fr) minmax(72px, .7fr) minmax(120px, 1.1fr) minmax(82px, .8fr) minmax(150px, 1.3fr) minmax(180px, 1.6fr) minmax(140px, 1.2fr) !important;
}

@media (max-width: 1500px) {
  #appView.app-shell {
    grid-template-columns: 74px minmax(0, 1fr) !important;
  }

  #appView .sidebar .brand > div,
  #appView .sidebar #logoutBtn,
  #appView .sidebar #nav .nav-children,
  #appView .sidebar #nav .nav-subsection,
  #appView .sidebar #nav .nav-grandchildren,
  #appView .sidebar #nav b {
    display: none !important;
  }

  #appView .sidebar #nav .nav-section-toggle,
  #appView .sidebar #nav .system-entry > button {
    justify-content: center !important;
    padding-inline: 8px !important;
  }

  #appView .sidebar #nav .nav-section-toggle span,
  #appView .sidebar #nav .system-entry > button span {
    justify-content: center !important;
  }

  #appView .content {
    padding-inline: 18px !important;
  }

  #customerView .customer-desk-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerView .customer-main-workarea {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  #customerView .customer-processing-panel,
  #customerView .customer-consult-form {
    grid-column: 1 !important;
  }

  #customerView .customer-processing-panel {
    order: 1 !important;
  }

  #customerView .customer-consult-form {
    order: 2 !important;
  }

  #customerView .customer-processing-panel .customer-process-info {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  #customerView .customer-processing-panel .customer-process-info span {
    flex: 1 1 150px !important;
    min-height: 74px !important;
  }

  #customerView .customer-processing-panel .customer-process-info .customer-process-field-5,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-7,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-9,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-10,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex: 1 1 320px !important;
    min-height: 104px !important;
  }
}

@media (max-width: 1180px) {
  #appView .content {
    padding-inline: 12px !important;
  }

  #appView .topbar,
  #appView .topbar.app-command-bar {
    min-height: 64px !important;
    padding: 10px 14px !important;
  }

  #customerView .customer-processing-panel > .record-header,
  #customerView .customer-processing-panel .record-header.compact {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #customerView .customer-processing-panel .customer-process-search,
  #customerView .customer-processing-panel .customer-process-search .search {
    width: 100% !important;
    min-width: 0 !important;
  }

  #customerView .customer-processing-panel .customer-process-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerView .customer-processing-panel .customer-mini-form {
    border-right: 0 !important;
    border-bottom: 1px solid #e2ebf2 !important;
  }
}

@media (max-width: 820px) {
  body:has(#appView:not(.hidden)) {
    overflow: auto !important;
  }

  #appView.app-shell,
  #appView.app-shell.sidebar-collapsed {
    height: auto !important;
    max-height: none !important;
    min-height: 100vh !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  #appView .sidebar {
    position: sticky !important;
    top: 0 !important;
    height: auto !important;
    max-height: none !important;
    z-index: 90 !important;
  }

  #appView .content {
    height: auto !important;
    overflow: visible !important;
  }
}

/* Final layout override v82: stable sidebar, no clipped customer desk, normal home scale. */
@media (min-width: 821px) {
  #appView.app-shell,
  #appView.app-shell.sidebar-collapsed {
    grid-template-columns: 200px minmax(0, 1fr) !important;
  }

  #appView .sidebar {
    width: 200px !important;
    min-width: 200px !important;
  }

  #appView .sidebar .brand > div,
  #appView .sidebar #logoutBtn,
  #appView .sidebar #nav .nav-children,
  #appView .sidebar #nav .nav-subsection,
  #appView .sidebar #nav .nav-grandchildren,
  #appView .sidebar #nav b {
    display: initial !important;
  }

  #appView .sidebar #logoutBtn {
    display: block !important;
  }

  #appView .sidebar #nav .nav-children,
  #appView .sidebar #nav .nav-grandchildren {
    display: block !important;
  }

  #appView .sidebar #nav .nav-subsection {
    display: grid !important;
  }

  #appView .sidebar #nav .nav-section-toggle,
  #appView .sidebar #nav .system-entry > button {
    justify-content: flex-start !important;
  }
}

#appView .content {
  overflow-x: auto !important;
  padding-inline: clamp(12px, 1.4vw, 26px) !important;
}

#dashboardView.workspace-home,
#dashboardView.workspace-home:not(.hidden),
.workspace-home:not(.hidden) {
  width: min(1440px, calc(100% - 24px)) !important;
  max-width: 1440px !important;
  margin: 16px auto 32px !important;
  padding: 0 !important;
}

.home-hero-card {
  min-height: 118px !important;
}

.home-gantt-panel {
  min-height: 430px !important;
}

#customerView .customer-desk-grid,
#customerView .customer-main-workarea {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
}

#customerView .customer-main-workarea {
  display: grid !important;
}

#customerView .customer-processing-panel,
#customerView .customer-consult-form {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

#customerView .customer-processing-panel {
  order: 1 !important;
}

#customerView .customer-consult-form {
  order: 2 !important;
}

#customerView .customer-processing-panel .customer-process-info {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

#customerView .customer-processing-panel .customer-process-info span {
  flex: 1 1 160px !important;
  min-width: 140px !important;
  min-height: 74px !important;
  white-space: normal !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field-5,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-7,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-9,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-10,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-12 {
  flex: 1 1 340px !important;
  min-width: 260px !important;
  min-height: 104px !important;
}

#customerView .customer-processing-panel .customer-process-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}

#customerView .customer-order-ledger,
#customerView .customer-order-card,
#customerView .customer-order-body {
  min-width: 0 !important;
  max-width: 100% !important;
}

#customerView .customer-order-body {
  grid-template-columns: minmax(120px, 1fr) minmax(180px, 1.4fr) minmax(76px, .6fr) minmax(120px, .9fr) minmax(90px, .7fr) minmax(150px, 1.1fr) minmax(180px, 1.25fr) minmax(150px, 1.1fr) !important;
}

#customerView .handover-reason,
#customerView .handover-reason span,
#customerView .customer-order-handover,
#customerView .customer-progress-list {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#customerView .handover-reason span,
#customerView .customer-progress-list {
  display: block !important;
  white-space: pre-wrap !important;
  line-height: 1.5 !important;
}

@media (max-width: 1180px) {
  #customerView .customer-order-body {
    grid-template-columns: minmax(110px, .9fr) minmax(180px, 1.5fr) minmax(80px, .7fr) minmax(130px, 1fr) !important;
  }

  #customerView .customer-order-progress,
  #customerView .customer-order-handover,
  #customerView .customer-order-remark {
    grid-column: span 2 !important;
  }
}

/* Hotfix v83: compact desktop windows must use an icon rail, never cover forms. */
@media (min-width: 821px) and (max-width: 1280px) {
  #appView.app-shell,
  #appView.app-shell.sidebar-collapsed {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }

  #appView .sidebar {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    overflow: hidden !important;
  }

  #appView .sidebar .brand {
    justify-content: center !important;
    padding: 12px 8px !important;
  }

  #appView .sidebar .brand > div,
  #appView .sidebar #logoutBtn,
  #appView .sidebar #nav .nav-children,
  #appView .sidebar #nav .nav-subsection,
  #appView .sidebar #nav .nav-grandchildren,
  #appView .sidebar #nav b {
    display: none !important;
  }

  #appView .sidebar #nav {
    padding: 12px 8px !important;
  }

  #appView .sidebar #nav .nav-section-toggle,
  #appView .sidebar #nav .system-entry > button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 46px !important;
    padding: 0 !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  #appView .sidebar #nav .nav-section-toggle span,
  #appView .sidebar #nav .system-entry > button span {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    display: block !important;
    overflow: hidden !important;
    color: transparent !important;
    white-space: nowrap !important;
  }

  #appView .sidebar #nav .oa-icon {
    color: #334253 !important;
    margin: 0 !important;
  }

  #appView .content {
    min-width: 0 !important;
    width: 100% !important;
    padding: 12px 12px 28px !important;
    overflow-x: hidden !important;
  }

  #customerView {
    width: 100% !important;
    margin: 0 !important;
  }

  #customerView .customer-desk-grid,
  #customerView .customer-main-workarea,
  #customerView .customer-processing-panel,
  #customerView .customer-consult-form,
  #customerView .customer-ledger-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #customerView .customer-process-info,
  #customerView .customer-processing-panel .customer-process-info {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #customerView .customer-process-info span,
  #customerView .customer-processing-panel .customer-process-info span,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-5,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-7,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-9,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-10,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-12 {
    grid-column: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
  }
}

/* Hotfix v83: handover column only shows current open reasons. */
#customerView .customer-order-handover .handover-reason.done,
#customerView .customer-order-handover .handover-reason small {
  display: none !important;
}

/* Clean layout v84: replace patch-stack behavior with one stable app layout. */
@media (min-width: 821px) {
  html,
  body {
    height: 100% !important;
  }

  body:has(#appView:not(.hidden)) {
    overflow: hidden !important;
  }

  #appView.app-shell {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  #appView.app-shell.sidebar-collapsed {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }

  #appView .sidebar {
    position: sticky !important;
    top: 0 !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    z-index: 80 !important;
  }

  #appView.sidebar-collapsed .sidebar {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }

  #appView .sidebar .brand {
    flex: 0 0 auto !important;
  }

  #appView .sidebar #nav,
  #appView .sidebar nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-gutter: auto !important;
  }

  #appView .sidebar #logoutBtn {
    flex: 0 0 auto !important;
  }

  #appView.sidebar-collapsed .sidebar .brand {
    justify-content: center !important;
    padding: 12px 8px !important;
  }

  #appView.sidebar-collapsed .sidebar .brand > div,
  #appView.sidebar-collapsed .sidebar #logoutBtn,
  #appView.sidebar-collapsed .sidebar #nav .nav-children,
  #appView.sidebar-collapsed .sidebar #nav .nav-subsection,
  #appView.sidebar-collapsed .sidebar #nav .nav-grandchildren,
  #appView.sidebar-collapsed .sidebar #nav b {
    display: none !important;
  }

  #appView.sidebar-collapsed .sidebar #nav {
    padding: 12px 8px !important;
  }

  #appView.sidebar-collapsed .sidebar #nav .nav-section-toggle,
  #appView.sidebar-collapsed .sidebar #nav .system-entry > button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 46px !important;
    padding: 0 !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  #appView.sidebar-collapsed .sidebar #nav .nav-section-toggle span,
  #appView.sidebar-collapsed .sidebar #nav .system-entry > button span {
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  #appView.sidebar-collapsed .sidebar #nav .oa-icon {
    margin: 0 !important;
    color: #334253 !important;
    font-size: 16px !important;
  }

  #appView .content {
    height: 100vh !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px clamp(12px, 1.4vw, 24px) 32px !important;
    scrollbar-gutter: auto !important;
  }

  #appView .topbar,
  #appView .topbar.app-command-bar {
    position: sticky !important;
    top: 0 !important;
    z-index: 70 !important;
    flex: 0 0 auto !important;
    min-height: 72px !important;
    margin: -14px calc(-1 * clamp(12px, 1.4vw, 24px)) 16px !important;
    border-bottom: 1px solid rgba(214, 224, 235, .9) !important;
    background: rgba(255, 255, 255, .97) !important;
  }
}

#dashboardView.workspace-home,
#dashboardView.workspace-home:not(.hidden),
.workspace-home:not(.hidden) {
  width: min(1360px, 100%) !important;
  max-width: 1360px !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
}

#customerView {
  width: min(1500px, 100%) !important;
  max-width: 1500px !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
}

#customerView .customer-desk-grid,
#customerView .customer-main-workarea {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#customerView .customer-processing-panel {
  order: 1 !important;
}

#customerView .customer-consult-form {
  order: 2 !important;
}

#customerView .customer-processing-panel,
#customerView .customer-consult-form,
#customerView .customer-ledger-section,
#customerView .customer-list-panel {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#customerView .customer-processing-panel .customer-process-info,
#customerView .customer-process-info {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

#customerView .customer-processing-panel .customer-process-info span,
#customerView .customer-process-info span {
  grid-column: auto !important;
  grid-row: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 72px !important;
  white-space: normal !important;
  overflow: hidden !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field-5,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-7,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-9,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-10,
#customerView .customer-processing-panel .customer-process-info .customer-process-field-12 {
  grid-column: span 2 !important;
  min-height: 104px !important;
}

#customerView .customer-processing-panel .customer-process-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  width: 100% !important;
}

#customerView .customer-order-body {
  grid-template-columns: minmax(120px, 1fr) minmax(180px, 1.5fr) minmax(80px, .7fr) minmax(130px, 1fr) !important;
}

#customerView .customer-order-progress,
#customerView .customer-order-handover,
#customerView .customer-order-remark {
  grid-column: span 2 !important;
}

#customerView .customer-order-handover .handover-reason.done,
#customerView .customer-order-handover .handover-reason small {
  display: none !important;
}

@media (max-width: 1180px) {
  #customerView .customer-processing-panel .record-header,
  #customerView .customer-processing-panel .record-header.compact {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #customerView .customer-process-search,
  #customerView .customer-process-search .search {
    width: 100% !important;
    min-width: 0 !important;
  }

  #customerView .customer-processing-panel .customer-process-info .customer-process-field-5,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-7,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-9,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-10,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-12 {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 900px) {
  #customerView .customer-processing-panel .customer-process-info,
  #customerView .customer-process-info,
  #customerView .customer-order-body {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerView .customer-order-progress,
  #customerView .customer-order-handover,
  #customerView .customer-order-remark {
    grid-column: 1 !important;
  }
}

/* Sidebar reset v85: no automatic collapsed rail; only the toggle controls it. */
@media (min-width: 821px) {
  #appView.app-shell:not(.sidebar-collapsed) {
    grid-template-columns: 220px minmax(0, 1fr) !important;
  }

  #appView.app-shell.sidebar-collapsed {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }

  #appView.app-shell.sidebar-collapsed .sidebar {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar .brand > div {
    display: block !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar #logoutBtn {
    display: block !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .nav-children,
  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .nav-grandchildren {
    display: block !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .nav-subsection {
    display: grid !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav b {
    display: grid !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .nav-section-toggle,
  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .system-entry > button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 42px !important;
    justify-content: flex-start !important;
    padding: 10px 11px !important;
    overflow: visible !important;
  }

  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .nav-section-toggle span,
  #appView.app-shell:not(.sidebar-collapsed) .sidebar #nav .system-entry > button span {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: inherit !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #appView.app-shell.sidebar-collapsed .sidebar .brand > div,
  #appView.app-shell.sidebar-collapsed .sidebar #logoutBtn,
  #appView.app-shell.sidebar-collapsed .sidebar #nav .nav-children,
  #appView.app-shell.sidebar-collapsed .sidebar #nav .nav-subsection,
  #appView.app-shell.sidebar-collapsed .sidebar #nav .nav-grandchildren,
  #appView.app-shell.sidebar-collapsed .sidebar #nav b {
    display: none !important;
  }

  #appView.app-shell.sidebar-collapsed .sidebar #nav .nav-section-toggle,
  #appView.app-shell.sidebar-collapsed .sidebar #nav .system-entry > button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  #appView.app-shell.sidebar-collapsed .sidebar #nav .nav-section-toggle span,
  #appView.app-shell.sidebar-collapsed .sidebar #nav .system-entry > button span {
    width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    font-size: 0 !important;
    justify-content: center !important;
  }
}

#customerView,
#dashboardView {
  transform: none !important;
}

#customerView .customer-hero,
#customerView .customer-desk-grid,
#customerView .customer-ledger-section {
  margin-left: 0 !important;
  transform: none !important;
}

/* Customer ledger v73: readable order cards in small app windows. */
@media (max-width: 1280px) {
  .customer-ledger-section,
  .customer-list-panel,
  #customerRecentRecords {
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .customer-order-ledger {
    min-width: 0 !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .customer-order-columns {
    display: none !important;
  }

  .customer-order-body {
    display: grid !important;
    grid-template-columns: minmax(140px, .85fr) minmax(220px, 1.25fr) 86px minmax(150px, .8fr) !important;
    grid-auto-rows: auto !important;
  }

  .customer-order-body > section {
    min-width: 0 !important;
    min-height: 82px !important;
    padding: 10px 12px !important;
    border-left: 1px solid #edf1f5 !important;
    border-top: 1px solid #edf1f5 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .customer-order-body > section:nth-child(1),
  .customer-order-body > section:nth-child(5),
  .customer-order-body > section:nth-child(6),
  .customer-order-body > section:nth-child(7) {
    border-left: 0 !important;
  }

  .customer-order-customer { grid-column: 1; grid-row: 1; }
  .customer-order-question { grid-column: 2; grid-row: 1; }
  .customer-order-status { grid-column: 3; grid-row: 1; }
  .customer-order-nos { grid-column: 4; grid-row: 1; }
  .customer-order-service { grid-column: 1; grid-row: 2; }
  .customer-order-progress { grid-column: 2 / 4; grid-row: 2; }
  .customer-order-handover { grid-column: 4; grid-row: 2; }
  .customer-order-remark { grid-column: 1 / -1; grid-row: 3; }

  .customer-order-progress,
  .customer-order-handover,
  .customer-order-remark {
    min-height: 112px !important;
  }

  .customer-order-card .customer-progress-list,
  .customer-order-card .handover-reason,
  .customer-order-card .handover-reason span,
  .customer-order-card .handover-reason small {
    display: block !important;
    white-space: pre-wrap !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
  }

  .customer-order-card .customer-progress-list {
    min-width: 0 !important;
  }

  .customer-order-card .customer-chase-cell {
    min-height: 100% !important;
  }

  .customer-order-card .customer-chase-cell form {
    margin: 8px -12px -10px !important;
  }
}

@media (max-width: 980px) {
  .customer-order-body {
    grid-template-columns: minmax(130px, .9fr) minmax(180px, 1.1fr) 82px !important;
  }

  .customer-order-customer { grid-column: 1; grid-row: 1; }
  .customer-order-question { grid-column: 2 / 4; grid-row: 1; }
  .customer-order-status { grid-column: 1; grid-row: 2; }
  .customer-order-nos { grid-column: 2 / 4; grid-row: 2; }
  .customer-order-service { grid-column: 1; grid-row: 3; }
  .customer-order-progress { grid-column: 2 / 4; grid-row: 3; }
  .customer-order-handover { grid-column: 1 / -1; grid-row: 4; }
  .customer-order-remark { grid-column: 1 / -1; grid-row: 5; }
}

/* Trademark library + Xiaohongshu crawler extension */
.tm-hero,
.xhs-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid rgba(207, 216, 226, 0.82);
  border-radius: 16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(224, 57, 88, 0.10), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.92));
  box-shadow: 0 18px 48px rgba(40, 54, 70, 0.08);
}
.tm-hero h2,
.xhs-heading h2 {
  margin: 6px 0 8px;
  font-size: 28px;
  color: #172334;
}
.tm-hero p,
.xhs-heading p {
  margin: 0;
  color: #526070;
  line-height: 1.7;
}
.tm-actions,
.xhs-heading-actions,
.xhs-buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.btn-primary,
.btn-secondary,
.btn-ghost,
.xhs-file-btn,
.xhs-mini-btn {
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #df3c5d, #c32242);
  box-shadow: 0 10px 22px rgba(206, 45, 76, 0.20);
}
.btn-secondary {
  color: #26384d;
  background: #fff;
  border-color: #d7e0ea;
}
.btn-ghost {
  color: #c32242;
  background: rgba(195, 34, 66, 0.06);
  border-color: rgba(195, 34, 66, 0.16);
}
.btn-primary:hover,
.btn-secondary:hover,
.btn-ghost:hover,
.xhs-file-btn:hover,
.xhs-mini-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(41, 57, 76, 0.12);
}
.tm-stat-grid,
.xhs-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.tm-stat-grid article,
.xhs-stat-grid article {
  padding: 18px;
  border: 1px solid rgba(215, 224, 234, 0.92);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 34px rgba(40, 54, 70, 0.06);
}
.tm-stat-grid span,
.xhs-stat-grid span {
  display: block;
  color: #637083;
  font-size: 13px;
}
.tm-stat-grid b,
.xhs-stat-grid b {
  display: inline-block;
  margin-top: 8px;
  color: #172334;
  font-size: 28px;
}
.tm-stat-grid small {
  margin-left: 6px;
  color: #7a8798;
}
.tm-panel,
.xhs-card {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(215, 224, 234, 0.9);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 42px rgba(40, 54, 70, 0.07);
}
.tm-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1.5fr) repeat(4, minmax(130px, 0.8fr));
  gap: 12px;
  margin-bottom: 14px;
}
.tm-toolbar input,
.tm-toolbar select,
.xhs-card input,
.xhs-card textarea,
.xhs-card select {
  width: 100%;
  border: 1px solid #d7e0ea;
  border-radius: 10px;
  background: #fbfdff;
  color: #172334;
  font-size: 15px;
  padding: 11px 12px;
  outline: none;
}
.tm-toolbar input:focus,
.tm-toolbar select:focus,
.xhs-card input:focus,
.xhs-card textarea:focus {
  border-color: rgba(195, 34, 66, 0.45);
  box-shadow: 0 0 0 3px rgba(195, 34, 66, 0.08);
}
.tm-result-meta {
  margin: 6px 0 14px;
  color: #637083;
}
.tm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
  gap: 14px;
}
.tm-card {
  min-height: 245px;
  padding: 18px;
  border: 1px solid #dce5ee;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #f9fbfd);
}
.tm-card-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.tm-category,
.tm-status,
.xhs-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 700;
}
.tm-category {
  color: #2b4967;
  background: #edf4fb;
}
.tm-status.ok {
  color: #355c2a;
  background: #eef6e9;
}
.tm-status.warn {
  color: #8a5a00;
  background: #fff4da;
}
.tm-status.bad {
  color: #b3203c;
  background: #fff0f4;
}
.tm-card h3 {
  margin: 14px 0;
  color: #152235;
  font-size: 20px;
}
.tm-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin: 0 0 12px;
}
.tm-card dt {
  color: #8a96a7;
  font-size: 12px;
}
.tm-card dd {
  margin: 3px 0 0;
  color: #27384d;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.tm-card p {
  display: -webkit-box;
  margin: 0;
  color: #5a687a;
  line-height: 1.6;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tm-empty {
  grid-column: 1 / -1;
  padding: 34px;
  text-align: center;
  color: #718096;
  border: 1px dashed #ced8e5;
  border-radius: 14px;
  background: #fbfdff;
}
.xhs-shell {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
}
.xhs-rail {
  position: sticky;
  top: 88px;
  align-self: start;
  min-height: 520px;
  padding: 18px 14px;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 16px 38px rgba(35, 50, 70, 0.08);
}
.xhs-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}
.xhs-brand > span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, #ff8847, #ff6a31);
}
.xhs-brand small {
  display: block;
  margin-top: 3px;
  color: #6b7888;
}
.xhs-rail button {
  width: 100%;
  margin-bottom: 8px;
  padding: 12px 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #354458;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}
.xhs-rail button.active {
  color: #fff;
  background: linear-gradient(135deg, #ff8847, #ff6a31);
  box-shadow: 0 12px 28px rgba(255, 106, 49, 0.22);
}
.xhs-main {
  min-width: 0;
}
.xhs-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.xhs-card-title h3,
.xhs-card h3 {
  margin: 0;
  color: #162235;
  font-size: 20px;
}
.xhs-card label {
  display: block;
  margin: 10px 0;
  color: #5c6878;
  font-size: 13px;
  font-weight: 700;
}
.xhs-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.xhs-form-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 16px;
  margin-top: 16px;
}
.xhs-wide-stats {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}
.xhs-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.xhs-filter-row button {
  border: 1px solid #d7e0ea;
  border-radius: 9px;
  background: #fff;
  color: #596579;
  padding: 8px 12px;
  cursor: pointer;
}
.xhs-filter-row button.active,
.xhs-file-btn {
  color: #fff;
  background: linear-gradient(135deg, #ff8847, #ff6a31);
}
.xhs-table-wrap {
  width: 100%;
  overflow: auto;
  border: 1px solid #e1e8f0;
  border-radius: 12px;
}
.xhs-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  background: #fff;
}
.xhs-table th,
.xhs-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #edf1f5;
  color: #28384d;
  text-align: left;
  vertical-align: top;
}
.xhs-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f7f9fc;
  color: #6b7788;
  font-size: 13px;
}
.xhs-voice {
  min-width: 280px;
  line-height: 1.55;
}
.xhs-pill {
  color: #9a3f08;
  background: #fff1e8;
}
.xhs-pill.muted {
  color: #7a8798;
  background: #eef2f6;
}
.xhs-mini-btn {
  padding: 7px 10px;
  color: #c32242;
  background: #fff4f6;
  border-color: #ffd4dc;
}

@media (max-width: 1360px) {
  .tm-toolbar {
    grid-template-columns: 1fr 1fr;
  }
  .xhs-shell,
  .xhs-form-grid {
    grid-template-columns: 1fr;
  }
  .xhs-rail {
    position: static;
    min-height: 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .xhs-brand {
    margin: 0 12px 0 0;
  }
  .xhs-rail button {
    width: auto;
    margin: 0;
  }
}

/* Final JPRX theme layer: keep this block at the end so old theme fragments cannot override it. */
:root {
  --ink: #1f1716;
  --muted: #716865;
  --soft: #9b918d;
  --line: #eadfdb;
  --line-strong: #dacac4;
  --panel: #ffffff;
  --bg: #f7f3f1;
  --nav: #ffffff;
  --nav-2: #fff8f6;
  --accent: #b61f2d;
  --accent-dark: #8f1621;
  --accent-soft: #fff0f1;
  --gold: #31465b;
  --gold-soft: #eef3f8;
  --danger: #b61f2d;
  --shadow: 0 18px 48px rgba(60, 38, 32, 0.1);
  --shadow-soft: 0 10px 26px rgba(60, 38, 32, 0.07);
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(182, 31, 45, 0.1), transparent 27%),
    radial-gradient(circle at 84% 8%, rgba(49, 70, 91, 0.08), transparent 26%),
    linear-gradient(180deg, #fbf8f6 0%, #f4eeeb 48%, #f7f3f1 100%);
}

.login-shell {
  background:
    linear-gradient(120deg, rgba(182, 31, 45, 0.08), rgba(255, 255, 255, 0.72) 42%, rgba(49, 70, 91, 0.09)),
    #fbf8f6 !important;
}

.login-panel {
  border: 1px solid rgba(182, 31, 45, 0.16) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 28px 80px rgba(60, 38, 32, 0.13) !important;
}

.login-logo {
  display: block;
  width: min(320px, 72vw);
  height: auto;
  margin: 0 0 22px;
  object-fit: contain;
}

.app-shell {
  grid-template-columns: 268px minmax(0, 1fr) !important;
  background: transparent !important;
}

.app-shell.sidebar-collapsed {
  grid-template-columns: 74px minmax(0, 1fr) !important;
}

.sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #fff8f6 48%, #f7f0ed 100%) !important;
  color: var(--ink) !important;
  border-right: 1px solid rgba(182, 31, 45, 0.12) !important;
  box-shadow: 8px 0 28px rgba(60, 38, 32, 0.07) !important;
}

.brand {
  min-height: 72px !important;
  padding: 16px 14px 14px !important;
  color: var(--ink) !important;
  border-bottom: 1px solid rgba(182, 31, 45, 0.12) !important;
}

.brand-mark {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(182, 31, 45, 0.12) !important;
  overflow: hidden;
}

.brand-mark img,
.brand-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand strong {
  color: #241918 !important;
  letter-spacing: 0 !important;
}

.brand small {
  color: var(--muted) !important;
}

.sidebar-toggle {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(182, 31, 45, 0.16) !important;
  border-radius: 9px !important;
  color: var(--accent) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(60, 38, 32, 0.08) !important;
}

.sidebar-toggle:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

#nav {
  padding: 14px 12px 18px !important;
  gap: 8px !important;
}

#nav button,
#nav button:hover,
#nav button:active,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button {
  box-shadow: none !important;
}

#nav .nav-section {
  margin: 0 !important;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  min-height: 44px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  padding: 10px 11px !important;
  color: #312421 !important;
  background: transparent !important;
}

#nav .nav-section-toggle:hover,
#nav .system-entry > button:hover {
  color: var(--accent) !important;
  background: #fff !important;
  border-color: rgba(182, 31, 45, 0.12) !important;
}

#nav .nav-section-toggle span,
#nav .system-entry > button span {
  gap: 12px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

#nav .oa-icon {
  width: 23px !important;
  height: 23px !important;
  border: 1px solid rgba(49, 70, 91, 0.14) !important;
  border-radius: 7px !important;
  color: #334253 !important;
  background: #fff !important;
}

#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon {
  color: var(--accent) !important;
  border-color: rgba(182, 31, 45, 0.22) !important;
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  border-color: rgba(49, 70, 91, 0.12) !important;
  background: #fff !important;
}

#nav .nav-section-toggle b::after,
#nav .nav-subsection-toggle b::after {
  color: #66707c !important;
}

.nav-children {
  margin: 2px 0 10px 35px !important;
  padding-left: 17px !important;
  border-left: 1px solid #e8d7d2 !important;
}

.nav-children > button,
.nav-grandchildren button,
.nav-children .nav-grandchildren button {
  min-height: 36px !important;
  border-radius: 0 8px 8px 0 !important;
  color: #5d5552 !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.nav-subsection-toggle,
.nav-children .nav-subsection-toggle {
  min-height: 40px !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #312421 !important;
  font-weight: 800 !important;
}

.nav-subsection-toggle span::before,
#nav .nav-subsection-toggle span::before {
  width: 8px !important;
  height: 8px !important;
  border: 2px solid var(--accent) !important;
  border-radius: 3px !important;
  background: transparent !important;
}

.nav-grandchildren {
  margin-left: 8px !important;
  padding-left: 13px !important;
  border-left: 1px solid #efdeda !important;
}

#nav button.active,
#nav .nav-subsection-toggle.active {
  color: var(--accent) !important;
  background: #fff0f1 !important;
}

.nav-grandchildren button.active::before {
  background: var(--accent) !important;
}

.system-entry {
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #e8d7d2 !important;
}

.sidebar #logoutBtn {
  margin: 12px !important;
  color: #4a3f3c !important;
  background: #ffffff !important;
  border: 1px solid #e5d6d1 !important;
}

.sidebar #logoutBtn:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

.sidebar-collapsed .brand {
  justify-content: center !important;
  padding-inline: 10px !important;
}

.sidebar-collapsed .brand-mark {
  width: 44px !important;
  height: 44px !important;
}

.sidebar-collapsed .nav-section-toggle,
.sidebar-collapsed .system-entry > button {
  justify-content: center !important;
  padding: 10px !important;
}

.content {
  background: transparent !important;
}

.topbar {
  min-height: 92px !important;
  border-bottom: 1px solid rgba(182, 31, 45, 0.1) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(16px);
}

.topbar h2 {
  color: #241918 !important;
}

.user-chip {
  border-color: rgba(49, 70, 91, 0.16) !important;
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow: 0 12px 28px rgba(60, 38, 32, 0.08) !important;
}

.welcome-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(280px, 390px);
  gap: 22px;
  align-items: stretch;
  margin-bottom: 20px;
  padding: 30px;
  border: 1px solid rgba(182, 31, 45, 0.14);
  border-radius: 18px;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 244, 0.9)),
    radial-gradient(circle at 12% 20%, rgba(182, 31, 45, 0.12), transparent 30%);
  box-shadow: 0 24px 62px rgba(60, 38, 32, 0.1);
}

.welcome-logo {
  width: min(360px, 62vw);
  height: auto;
  margin: 0 0 20px;
  object-fit: contain;
}

.welcome-copy h1 {
  margin: 0;
  color: #241918;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
  letter-spacing: 0;
}

.welcome-copy p:not(.eyebrow) {
  max-width: 760px;
  margin: 16px 0 0;
  color: #625653;
  font-size: 16px;
  line-height: 1.8;
}

.welcome-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.plain-action {
  color: var(--accent) !important;
  background: #fff !important;
  border: 1px solid rgba(182, 31, 45, 0.2) !important;
  box-shadow: none !important;
}

.plain-action:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

.welcome-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 260px;
  padding: 24px;
  border: 1px solid rgba(49, 70, 91, 0.14);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(160deg, #31465b 0%, #1f2a36 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.welcome-panel span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.welcome-panel strong {
  display: block;
  margin-top: 10px;
  font-size: 26px;
  line-height: 1.24;
}

.welcome-panel p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
}

.metrics article,
.module-card,
.panel,
.toolbar,
.table-wrap,
.approval-hero,
.account-card {
  border-color: rgba(49, 70, 91, 0.12) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 14px 34px rgba(60, 38, 32, 0.07) !important;
}

.metrics article {
  border-top: 3px solid var(--accent) !important;
}

.module-card.live {
  background: linear-gradient(135deg, rgba(182, 31, 45, 0.08), rgba(255, 255, 255, 0.94)) !important;
}

button {
  border-radius: 9px !important;
}

button.secondary {
  background: #31465b !important;
}

button.secondary:hover {
  background: #223140 !important;
}

@media (max-width: 1100px) {
  .welcome-hero {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .welcome-panel {
    min-height: auto;
  }
}

/* Final personal workbench and navigation polish */
.workspace-home {
  display: grid !important;
  gap: 18px !important;
}

.personal-hero {
  display: grid !important;
  grid-template-columns: minmax(420px, 1fr) 280px !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.personal-greeting,
.today-card,
.home-section,
.home-card {
  border: 1px solid rgba(49, 70, 91, 0.12) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 14px 36px rgba(60, 38, 32, 0.07) !important;
}

.personal-greeting {
  min-height: 190px !important;
  padding: 26px 30px !important;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 255, 0.9) 54%, rgba(255, 241, 242, 0.92)),
    radial-gradient(circle at 78% 26%, rgba(124, 168, 221, 0.28), transparent 32%) !important;
}

.personal-logo {
  width: min(250px, 46vw) !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 14px !important;
}

.personal-greeting h1 {
  margin: 0 !important;
  color: #241918 !important;
  font-size: clamp(30px, 4.2vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.personal-greeting p:not(.eyebrow) {
  max-width: 620px !important;
  margin: 12px 0 0 !important;
  color: #5f666f !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.today-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: 190px !important;
  padding: 24px !important;
  color: #fff !important;
  background:
    linear-gradient(145deg, rgba(181, 54, 69, 0.92), rgba(49, 70, 91, 0.92)),
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.28), transparent 28%) !important;
}

.today-card span {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.today-card strong {
  margin-top: 10px !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
}

.today-card p {
  margin: 12px 0 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

.home-section,
.home-card {
  padding: 18px !important;
}

.home-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

.home-section-head h3 {
  margin: 0 !important;
  font-size: 20px !important;
  letter-spacing: 0 !important;
}

.home-section-head.compact {
  margin-bottom: 10px !important;
}

.quick-entry-grid {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(92px, 1fr)) !important;
  gap: 12px !important;
}

.quick-entry {
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  min-height: 86px !important;
  padding: 12px 8px !important;
  color: #342826 !important;
  border: 1px solid rgba(49, 70, 91, 0.1) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(60, 38, 32, 0.06) !important;
}

.quick-entry:hover {
  color: var(--accent) !important;
  border-color: rgba(182, 31, 45, 0.18) !important;
  background: #fff8f8 !important;
  transform: translateY(-1px);
}

.quick-entry span {
  font-size: 13px !important;
  font-weight: 800 !important;
}

.entry-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: #b61f2d !important;
  box-shadow: 0 8px 18px rgba(60, 38, 32, 0.12) !important;
}

.entry-icon::before {
  content: "" !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  -webkit-mask: var(--entry-mask) center / contain no-repeat !important;
  mask: var(--entry-mask) center / contain no-repeat !important;
}

.entry-todo { background: #6f7ed8 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4L19 6' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.entry-approval { background: #d56a36 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l3 3v15H6zM9 13h6M9 17h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-payroll { background: #c33955 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M7 7h7a3 3 0 0 1 0 6H9a3 3 0 0 0 0 6h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-manual { background: #21a3b8 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16M4 12h16M4 19h16M8 3v4M16 10v4M11 17v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-bill { background: #b38a27 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v18l-2-1-2 1-2-1-2 1-2-1zM9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-air { background: #5a8bd7 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8h10a3 3 0 1 0-3-3M4 13h15a3 3 0 1 1-3 3M4 18h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-data { background: #7b63c9 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19V9M12 19V5M19 19v-7' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-tool { background: #475c70 !important; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4a5 5 0 0 0 6 6L10 20l-6-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.home-board {
  display: grid !important;
  grid-template-columns: minmax(240px, 0.8fr) minmax(260px, 0.95fr) minmax(480px, 1.45fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

.text-link {
  min-height: 30px !important;
  padding: 5px 10px !important;
  color: var(--accent) !important;
  background: #fff !important;
  border: 1px solid rgba(182, 31, 45, 0.16) !important;
  box-shadow: none !important;
}

.text-link:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

.mini-list {
  display: grid !important;
  gap: 10px !important;
}

.mini-list div {
  padding: 12px !important;
  border-radius: 12px !important;
  background: #f8f6f5 !important;
}

.mini-list b,
.mini-list span {
  display: block !important;
}

.mini-list b {
  font-size: 14px !important;
}

.mini-list span {
  margin-top: 4px !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.mini-calendar-layout {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) minmax(220px, 0.75fr) !important;
  gap: 14px !important;
}

.compact-memo-form {
  align-content: start !important;
}

.nav-home-section .nav-home-button {
  color: var(--accent) !important;
  background: #fff0f1 !important;
  border-color: rgba(182, 31, 45, 0.22) !important;
}

#nav .oa-icon {
  display: inline-block !important;
  width: 23px !important;
  height: 23px !important;
  flex: 0 0 23px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: #4d5a66 !important;
  background-image: none !important;
  color: #4d5a66 !important;
}

#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon,
#nav .nav-home-button .oa-icon {
  background-color: var(--accent) !important;
  color: var(--accent) !important;
}

#nav .oa-icon-workbench {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") !important;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  border-radius: 12px !important;
}

#nav .nav-section-toggle span,
#nav .system-entry > button span {
  font-size: 14px !important;
}

.nav-children {
  margin-left: 28px !important;
}

.nav-children > button,
.nav-grandchildren button,
.nav-children .nav-grandchildren button {
  font-size: 12px !important;
}

@media (max-width: 1380px) {
  .quick-entry-grid {
    grid-template-columns: repeat(4, minmax(100px, 1fr)) !important;
  }

  .home-board {
    grid-template-columns: 1fr 1fr !important;
  }

  .memo-preview {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 900px) {
  .personal-hero,
  .home-board,
  .mini-calendar-layout {
    grid-template-columns: 1fr !important;
  }

  .quick-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Personal workbench refresh */
.workspace-home {
  display: grid;
  gap: 18px;
}

.personal-hero {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) 280px;
  gap: 18px;
  align-items: stretch;
}

.personal-greeting,
.today-card,
.home-section,
.home-card {
  border: 1px solid rgba(49, 70, 91, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 36px rgba(60, 38, 32, 0.07);
}

.personal-greeting {
  min-height: 190px;
  padding: 26px 30px;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.95), rgba(244, 250, 255, 0.88) 54%, rgba(255, 241, 242, 0.9)),
    radial-gradient(circle at 78% 26%, rgba(124, 168, 221, 0.28), transparent 32%);
}

.personal-logo {
  width: min(250px, 46vw);
  height: auto;
  display: block;
  margin-bottom: 14px;
}

.personal-greeting h1 {
  margin: 0;
  color: #241918;
  font-size: clamp(30px, 4.2vw, 46px);
  line-height: 1.08;
  letter-spacing: 0;
}

.personal-greeting p:not(.eyebrow) {
  max-width: 620px;
  margin: 12px 0 0;
  color: #5f666f;
  font-size: 15px;
  line-height: 1.75;
}

.today-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 190px;
  padding: 24px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(181, 54, 69, 0.92), rgba(49, 70, 91, 0.92)),
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.28), transparent 28%);
}

.today-card span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 800;
}

.today-card strong {
  margin-top: 10px;
  font-size: 25px;
  line-height: 1.25;
}

.today-card p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.82);
}

.home-section {
  padding: 18px;
}

.home-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.home-section-head h3 {
  margin: 0;
  font-size: 20px;
  letter-spacing: 0;
}

.home-section-head.compact {
  margin-bottom: 10px;
}

.quick-entry-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(92px, 1fr));
  gap: 12px;
}

.quick-entry {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 86px;
  padding: 12px 8px;
  color: #342826;
  border: 1px solid rgba(49, 70, 91, 0.1);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(60, 38, 32, 0.06);
}

.quick-entry:hover {
  color: var(--accent);
  border-color: rgba(182, 31, 45, 0.18);
  background: #fff8f8;
  transform: translateY(-1px);
}

.quick-entry span {
  font-size: 13px;
  font-weight: 800;
}

.entry-icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #b61f2d;
  box-shadow: 0 8px 18px rgba(60, 38, 32, 0.12);
}

.entry-icon::before {
  content: "";
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--entry-mask) center / contain no-repeat;
  mask: var(--entry-mask) center / contain no-repeat;
}

.entry-todo { background: #6f7ed8; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4L19 6' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.entry-approval { background: #d56a36; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l3 3v15H6zM9 13h6M9 17h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-payroll { background: #c33955; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M7 7h7a3 3 0 0 1 0 6H9a3 3 0 0 0 0 6h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-manual { background: #21a3b8; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16M4 12h16M4 19h16M8 3v4M16 10v4M11 17v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-bill { background: #b38a27; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v18l-2-1-2 1-2-1-2 1-2-1zM9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-air { background: #5a8bd7; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8h10a3 3 0 1 0-3-3M4 13h15a3 3 0 1 1-3 3M4 18h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-data { background: #7b63c9; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19V9M12 19V5M19 19v-7' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E"); }
.entry-tool { background: #475c70; --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4a5 5 0 0 0 6 6L10 20l-6-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.home-board {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(260px, 0.95fr) minmax(480px, 1.45fr);
  gap: 16px;
  align-items: start;
}

.home-card {
  padding: 18px;
}

.text-link {
  min-height: 30px;
  padding: 5px 10px;
  color: var(--accent);
  background: #fff;
  border: 1px solid rgba(182, 31, 45, 0.16);
  box-shadow: none;
}

.text-link:hover {
  color: #fff;
  background: var(--accent);
}

.mini-list {
  display: grid;
  gap: 10px;
}

.mini-list div {
  padding: 12px;
  border-radius: 12px;
  background: #f8f6f5;
}

.mini-list b,
.mini-list span {
  display: block;
}

.mini-list b {
  font-size: 14px;
}

.mini-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.mini-calendar-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(220px, 0.75fr);
  gap: 14px;
}

.compact-calendar {
  min-height: 0;
}

.compact-memo-form {
  align-content: start;
}

#nav .oa-icon {
  background-color: #4d5a66 !important;
  background-image: none !important;
  border: 0 !important;
  color: #4d5a66 !important;
}

#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon {
  background-color: var(--accent) !important;
  color: var(--accent) !important;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  border-radius: 12px !important;
}

#nav .nav-section-toggle span,
#nav .system-entry > button span {
  font-size: 14px !important;
}

.nav-children {
  margin-left: 28px !important;
}

.nav-children > button,
.nav-grandchildren button,
.nav-children .nav-grandchildren button {
  font-size: 12px !important;
}

@media (max-width: 1380px) {
  .quick-entry-grid {
    grid-template-columns: repeat(4, minmax(100px, 1fr));
  }

  .home-board {
    grid-template-columns: 1fr 1fr;
  }

  .memo-preview {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .personal-hero,
  .home-board,
  .mini-calendar-layout {
    grid-template-columns: 1fr;
  }

  .quick-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* JPRX 2026 visual refresh */
:root {
  --ink: #1f1716;
  --muted: #716865;
  --soft: #9b918d;
  --line: #eadfdb;
  --line-strong: #dacac4;
  --panel: #ffffff;
  --bg: #f7f3f1;
  --nav: #ffffff;
  --nav-2: #fff8f6;
  --accent: #b61f2d;
  --accent-dark: #8f1621;
  --accent-soft: #fff0f1;
  --gold: #31465b;
  --gold-soft: #eef3f8;
  --danger: #b61f2d;
  --shadow: 0 18px 48px rgba(60, 38, 32, 0.1);
  --shadow-soft: 0 10px 26px rgba(60, 38, 32, 0.07);
}

body {
  background:
    radial-gradient(circle at 8% 4%, rgba(182, 31, 45, 0.1), transparent 27%),
    radial-gradient(circle at 84% 8%, rgba(49, 70, 91, 0.08), transparent 26%),
    linear-gradient(180deg, #fbf8f6 0%, #f4eeeb 48%, #f7f3f1 100%);
}

.login-shell {
  background:
    linear-gradient(120deg, rgba(182, 31, 45, 0.08), rgba(255, 255, 255, 0.72) 42%, rgba(49, 70, 91, 0.09)),
    #fbf8f6;
}

.login-panel {
  border: 1px solid rgba(182, 31, 45, 0.16);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 28px 80px rgba(60, 38, 32, 0.13);
}

.login-logo {
  display: block;
  width: min(320px, 72vw);
  height: auto;
  margin: 0 0 22px;
  object-fit: contain;
}

.app-shell {
  background: transparent;
  grid-template-columns: 268px minmax(0, 1fr);
}

.app-shell.sidebar-collapsed {
  grid-template-columns: 74px minmax(0, 1fr);
}

.sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #fff7f5 48%, #f7f0ed 100%) !important;
  color: var(--ink) !important;
  border-right: 1px solid rgba(182, 31, 45, 0.12);
  box-shadow: 8px 0 28px rgba(60, 38, 32, 0.07);
}

.brand {
  min-height: 72px;
  padding: 16px 14px 14px;
  border-bottom: 1px solid rgba(182, 31, 45, 0.12);
  color: var(--ink);
}

.brand-mark {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(182, 31, 45, 0.12);
  overflow: hidden;
}

.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand strong {
  color: #241918;
  letter-spacing: 0;
}

.brand small {
  color: var(--muted);
}

.sidebar-toggle {
  width: 34px;
  height: 34px;
  min-height: 34px;
  border: 1px solid rgba(182, 31, 45, 0.16);
  border-radius: 9px;
  color: var(--accent);
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(60, 38, 32, 0.08);
}

.sidebar-toggle:hover {
  color: #fff;
  background: var(--accent);
}

#nav {
  padding: 14px 12px 18px;
  gap: 8px;
}

#nav button,
#nav button:hover,
#nav button:active,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button {
  box-shadow: none !important;
}

#nav .nav-section {
  margin: 0;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  min-height: 44px;
  border-radius: 10px;
  padding: 10px 11px;
  color: #312421;
  background: transparent;
  border: 1px solid transparent;
}

#nav .nav-section-toggle:hover,
#nav .system-entry > button:hover {
  background: #fff;
  border-color: rgba(182, 31, 45, 0.12);
  color: var(--accent);
}

#nav .nav-section-toggle span,
#nav .system-entry > button span {
  gap: 12px;
  font-size: 15px;
  font-weight: 800;
}

#nav .oa-icon {
  width: 23px;
  height: 23px;
  border-radius: 7px;
  color: #334253;
  background: #fff;
  border: 1px solid rgba(49, 70, 91, 0.14);
}

#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon {
  color: var(--accent);
  border-color: rgba(182, 31, 45, 0.22);
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border-color: rgba(49, 70, 91, 0.12);
  background: #fff;
}

#nav .nav-section-toggle b::after,
#nav .nav-subsection-toggle b::after {
  color: #66707c;
}

.nav-children {
  margin: 2px 0 10px 35px;
  padding-left: 17px;
  border-left: 1px solid #e8d7d2;
}

.nav-children > button,
.nav-grandchildren button,
.nav-children .nav-grandchildren button {
  min-height: 36px;
  border-radius: 0 8px 8px 0;
  color: #5d5552;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
}

.nav-subsection-toggle,
.nav-children .nav-subsection-toggle {
  min-height: 40px;
  border-radius: 9px;
  background: transparent;
  color: #312421;
  font-weight: 800;
}

.nav-subsection-toggle span::before,
#nav .nav-subsection-toggle span::before {
  width: 8px;
  height: 8px;
  border: 2px solid var(--accent);
  border-radius: 3px;
  background: transparent;
}

.nav-grandchildren {
  margin-left: 8px;
  padding-left: 13px;
  border-left: 1px solid #efdeda;
}

#nav button.active,
#nav .nav-subsection-toggle.active {
  color: var(--accent);
  background: #fff0f1;
}

.nav-grandchildren button.active::before {
  background: var(--accent);
}

.system-entry {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e8d7d2;
}

.sidebar #logoutBtn {
  margin: 12px;
  color: #4a3f3c;
  background: #ffffff;
  border: 1px solid #e5d6d1;
}

.sidebar #logoutBtn:hover {
  color: #fff;
  background: var(--accent);
}

.sidebar-collapsed .brand {
  justify-content: center;
  padding-inline: 10px;
}

.sidebar-collapsed .brand-mark {
  width: 44px;
  height: 44px;
}

.sidebar-collapsed .nav-section-toggle,
.sidebar-collapsed .system-entry > button {
  justify-content: center;
  padding: 10px;
}

.content {
  background: transparent;
}

.topbar {
  min-height: 92px;
  border-bottom: 1px solid rgba(182, 31, 45, 0.1);
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(16px);
}

.topbar h2 {
  color: #241918;
}

.user-chip {
  border-color: rgba(49, 70, 91, 0.16);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 28px rgba(60, 38, 32, 0.08);
}

.welcome-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(280px, 390px);
  gap: 22px;
  align-items: stretch;
  margin-bottom: 20px;
  padding: 30px;
  border: 1px solid rgba(182, 31, 45, 0.14);
  border-radius: 18px;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 244, 0.9)),
    radial-gradient(circle at 12% 20%, rgba(182, 31, 45, 0.12), transparent 30%);
  box-shadow: 0 24px 62px rgba(60, 38, 32, 0.1);
}

.welcome-logo {
  width: min(360px, 62vw);
  height: auto;
  margin: 0 0 20px;
  object-fit: contain;
}

.welcome-copy h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
  color: #241918;
  letter-spacing: 0;
}

.welcome-copy p:not(.eyebrow) {
  max-width: 760px;
  margin: 16px 0 0;
  color: #625653;
  font-size: 16px;
  line-height: 1.8;
}

.welcome-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.plain-action {
  color: var(--accent);
  background: #fff;
  border: 1px solid rgba(182, 31, 45, 0.2);
  box-shadow: none;
}

.plain-action:hover {
  color: #fff;
  background: var(--accent);
}

.welcome-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 260px;
  padding: 24px;
  border: 1px solid rgba(49, 70, 91, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(160deg, #31465b 0%, #1f2a36 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.welcome-panel span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.welcome-panel strong {
  display: block;
  margin-top: 10px;
  font-size: 26px;
  line-height: 1.24;
}

.welcome-panel p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
}

.metrics article,
.module-card,
.panel,
.toolbar,
.table-wrap,
.approval-hero,
.account-card {
  border-color: rgba(49, 70, 91, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 34px rgba(60, 38, 32, 0.07);
}

.metrics article {
  border-top: 3px solid var(--accent);
}

.module-card.live {
  background:
    linear-gradient(135deg, rgba(182, 31, 45, 0.08), rgba(255, 255, 255, 0.94));
}

button {
  border-radius: 9px;
}

button.secondary {
  background: #31465b;
}

button.secondary:hover {
  background: #223140;
}

@media (max-width: 1100px) {
  .welcome-hero {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .welcome-panel {
    min-height: auto;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 16% 10%, rgba(223, 63, 88, 0.08), transparent 26%),
    linear-gradient(180deg, #f8f8f9 0%, var(--bg) 46%, #eff1f3 100%);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  min-height: 38px;
  border: 0;
  border-radius: 6px;
  padding: 9px 14px;
  cursor: pointer;
  color: #fff;
  background: var(--accent);
  box-shadow: 0 8px 18px rgba(223, 63, 88, 0.16);
  transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

button:hover {
  background: var(--accent-dark);
  box-shadow: 0 10px 22px rgba(223, 63, 88, 0.2);
}

button:active {
  transform: translateY(1px);
}

button.secondary {
  background: var(--gold);
  box-shadow: 0 8px 18px rgba(62, 79, 96, 0.16);
}

button.secondary:hover {
  background: #394b5c;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  box-shadow: none;
}

button.ghost {
  color: #dbe5ea;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: none;
}

.hidden {
  display: none !important;
}

.account-layout {
  display: grid;
  grid-template-columns: minmax(620px, 0.95fr) minmax(560px, 1.05fr);
  gap: 18px;
  align-items: start;
}

.account-form {
  display: grid;
  gap: 18px;
}

.account-form .form-grid {
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 14px;
}

.account-form label {
  min-width: 0;
}

.account-form label span {
  white-space: nowrap;
}

.inline-field {
  display: flex;
  gap: 8px;
}

.inline-field input {
  min-width: 0;
  flex: 1;
}

.permission-box {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
  background: #f8f9fa;
}

.permission-presets {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) auto minmax(160px, 1fr) auto auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
}

.permission-presets label {
  display: grid;
  gap: 6px;
}

.permission-presets label span {
  color: var(--muted);
  font-size: 12px;
}

.permission-presets select,
.permission-presets input {
  min-height: 36px;
}

.permission-head,
.account-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.permission-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
}

.permission-group {
  border: 1px solid #dfe8f0;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.permission-group > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid #edf2f6;
  background: #f8fbff;
}

.permission-group > header div {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.permission-group > header span {
  margin: 0;
  padding: 3px 7px;
  border-radius: 999px;
  color: #5f7186;
  background: #eaf2fb;
  font-size: 12px;
  font-weight: 800;
}

.permission-group > header strong {
  color: #1f2d3a;
  font-size: 15px;
}

.permission-group-body {
  display: grid;
  gap: 10px;
  padding: 10px;
}

.permission-group.level-2,
.permission-group.level-3 {
  border-color: #e6edf4;
  background: #fbfdff;
}

.permission-group.level-2 > header,
.permission-group.level-3 > header {
  padding: 9px 10px;
  background: #fff;
}

.permission-group.level-3 > header {
  display: none;
}

.permission-group.level-3 .permission-group-body {
  padding: 0;
}

.permission-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  border: 1px solid #dfe3e7;
  background: #fff;
  border-radius: 8px;
  padding: 8px 10px;
  font-weight: 700;
  color: var(--ink);
}

.permission-item input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  flex: 0 0 auto;
}

.permission-item span {
  display: inline;
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

.permission-item em,
.permission-item small {
  margin-left: auto;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  color: #7a4a18;
  background: #fff3df;
}

.permission-item small {
  margin-left: 0;
  color: #586a7c;
  background: #eef4fa;
}

.permission-item.sensitive {
  border-color: #efd6dc;
  background: #fffafb;
}

.permission-item.capability {
  border-style: dashed;
}

.account-summary {
  margin-bottom: 12px;
  color: var(--muted);
}

.account-summary span {
  border: 1px solid #dfe3e7;
  border-radius: 999px;
  padding: 7px 12px;
  background: #f8f9fa;
  font-weight: 700;
}

.account-list {
  display: grid;
  gap: 10px;
}

.account-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.2fr);
  gap: 14px;
  padding: 14px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.account-card:hover {
  border-color: var(--accent);
  box-shadow: 0 10px 24px rgba(223, 63, 88, 0.12);
}

.account-card strong,
.account-card span,
.account-card small,
.account-card-meta b {
  display: block;
}

.account-card span,
.account-card small,
.account-card-meta span {
  color: var(--muted);
  margin-top: 4px;
}

.account-card-meta {
  text-align: right;
}

.status-on {
  color: #d93650;
}

.status-off {
  color: #a85b00;
}

.approval-shell {
  display: grid;
  gap: 16px;
}

.approval-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.approval-hero h3 {
  font-size: 24px;
}

.approval-layout {
  display: grid;
  grid-template-columns: 180px minmax(420px, 0.86fr) minmax(500px, 1.14fr);
  gap: 14px;
  align-items: start;
}

.approval-list-panel {
  margin: 0;
}

.approval-list-panel {
  min-width: 0;
}

.approval-summary,
.approval-tabs,
.approval-meta,
.approval-actions,
.approval-head-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.approval-period-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #dce4ec;
  border-radius: 10px;
  background: #fff;
  color: #516173;
  font-size: 12px;
  font-weight: 800;
}

.approval-period-filter select {
  min-width: 116px;
  height: 30px;
  border: 0;
  background: transparent;
  color: #17202a;
  font-weight: 800;
  outline: 0;
}

.approval-summary {
  justify-content: flex-end;
}

.approval-summary span {
  border: 1px solid #dfe3e7;
  border-radius: 999px;
  padding: 7px 12px;
  background: #f8f9fa;
  color: var(--muted);
  font-weight: 800;
  white-space: nowrap;
}

.approval-tabs {
  margin: 4px 0 14px;
  padding: 4px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: #f3f5f7;
  width: max-content;
}

.approval-tabs button {
  min-height: 34px;
  color: var(--muted);
  background: transparent;
  box-shadow: none;
}

.approval-tabs button.active {
  color: var(--accent);
  background: #fff;
  box-shadow: 0 4px 12px rgba(223, 63, 88, 0.12);
}

.approval-list {
  display: grid;
  gap: 12px;
  max-height: calc(100vh - 250px);
  overflow: auto;
  padding-right: 3px;
}

.approval-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 14px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: #fff;
}

.approval-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.approval-card-head b {
  font-size: 16px;
}

.approval-card-head span {
  border-radius: 999px;
  padding: 5px 10px;
  font-weight: 800;
}

.approval-pending {
  color: #925b05;
  background: #fff4db;
}

.approval-pass {
  color: #d93650;
  background: #fff0f2;
}

.approval-reject,
.approval-cancel {
  color: #9f2f24;
  background: #fde9e7;
}

.approval-meta {
  margin-top: 10px;
  color: var(--muted);
}

.approval-card p {
  margin: 12px 0;
  color: var(--ink);
  line-height: 1.7;
  white-space: pre-line;
}

.approval-card p.decision-approval-reason {
  margin-top: 10px;
  line-height: 1.85;
  color: #314155;
  font-size: 14px;
}

.approval-flow {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}

.approval-actions {
  align-content: start;
  justify-content: flex-start;
}

.devlog-shell {
  display: grid;
  gap: 16px;
}

.devlog-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow-soft);
}

.devlog-hero h3 {
  font-size: 24px;
}

.devlog-hero span {
  color: var(--muted);
  font-weight: 700;
}

.devlog-timeline {
  display: grid;
  gap: 14px;
}

.devlog-item {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  padding: 18px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.devlog-item time {
  color: var(--accent);
  font-weight: 900;
}

.devlog-item h3 {
  margin-bottom: 10px;
  font-size: 18px;
}

.devlog-item ul {
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  line-height: 1.8;
}

@media (max-width: 980px) {
  .account-layout,
  .account-card,
  .approval-layout,
  .approval-card {
    grid-template-columns: 1fr;
  }

  .approval-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .devlog-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .devlog-item {
    grid-template-columns: 1fr;
  }

  .account-form .form-grid {
    grid-template-columns: 1fr;
  }

  .account-card-meta {
    text-align: left;
  }

}

/* Customer desk v69: flex-wrap summary cards on app-sized windows to prevent vertical labels. */
@media (max-width: 1280px) {
  .customer-processing-panel .customer-process-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 6px !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    overflow: visible !important;
  }

  .customer-processing-panel .customer-process-info span {
    flex: 1 1 92px !important;
    min-width: 72px !important;
    min-height: 76px !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .customer-processing-panel .customer-process-info span b {
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5 {
    flex-basis: min(100%, 260px) !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-7 {
    flex: 1 1 190px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-8 {
    flex: 1 1 126px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex: 1 1 220px !important;
    min-height: 116px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-11 {
    flex: 1 1 106px !important;
  }
}

@media (max-width: 1120px) {
  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex-basis: calc(50% - 6px) !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-7 {
    flex-basis: calc(50% - 6px) !important;
  }
}

@media (max-width: 760px) {
  .customer-processing-panel .customer-process-info span,
  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-7,
  .customer-processing-panel .customer-process-info .customer-process-field-8,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-11,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex-basis: 100% !important;
  }
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  background:
    linear-gradient(120deg, rgba(223, 63, 88, 0.92), rgba(23, 36, 43, 0.94)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.08'%3E%3Cpath d='M0 40h160M0 80h160M0 120h160M40 0v160M80 0v160M120 0v160'/%3E%3C/g%3E%3C/svg%3E");
}

.login-panel {
  width: min(980px, 100%);
  min-height: 520px;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 44px;
  align-items: center;
  padding: 54px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 8px;
  box-shadow: 0 30px 90px rgba(34, 38, 44, 0.32);
}

.login-panel h1 {
  font-size: 44px;
  line-height: 1.1;
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  letter-spacing: 0;
}

h1,
h2,
h3 {
  margin: 0;
}

.muted {
  max-width: 560px;
  color: var(--muted);
  line-height: 1.8;
}

.login-form {
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfbfc;
}

label span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 13px;
}

input,
select,
textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 11px;
  color: var(--ink);
  background: #fff;
  outline: none;
  transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(223, 63, 88, 0.55);
  box-shadow: 0 0 0 3px rgba(223, 63, 88, 0.12);
}

.form-error {
  min-height: 20px;
  margin: 0;
  color: var(--danger);
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 258px 1fr;
  transition: grid-template-columns 0.18s ease;
}

.app-shell.sidebar-collapsed {
  grid-template-columns: 72px 1fr;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 18px 16px;
  color: #fff;
  background: linear-gradient(180deg, var(--nav) 0%, var(--nav-2) 100%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08);
}

.brand {
  display: flex;
  gap: 12px;
  align-items: center;
}

.brand > div {
  min-width: 0;
  flex: 1;
}

.brand-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 8px;
  background: #f3b35a;
  color: #24282d;
  font-weight: 900;
}

.brand strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand small {
  display: block;
  margin-top: 3px;
  color: #aab7bf;
}

.sidebar-toggle {
  display: inline-grid;
  width: 32px;
  height: 32px;
  min-height: 32px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  color: #dbe5ea;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  font-size: 22px;
  line-height: 1;
}

.sidebar-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: none;
}

.sidebar-collapsed .sidebar {
  align-items: center;
  padding: 18px 12px;
}

.sidebar-collapsed .brand {
  flex-direction: column;
  gap: 12px;
}

.sidebar-collapsed .brand > div,
.sidebar-collapsed #logoutBtn {
  display: none;
}

nav {
  display: grid;
  gap: 10px;
}

.nav-section {
  display: grid;
  gap: 4px;
}

.nav-section-toggle,
.system-entry > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  padding: 8px 10px;
  color: #e7eef2;
  background: transparent;
  box-shadow: none;
  font-size: 15px;
  font-weight: 800;
}

.nav-section-toggle span,
.system-entry > button span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.nav-section-toggle i,
.system-entry i {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: #f3b35a;
  font-style: normal;
  font-size: 16px;
  font-weight: 900;
}

.nav-section-toggle b {
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.16s ease;
}

.nav-section.collapsed .nav-section-toggle b {
  transform: rotate(-45deg);
}

.nav-section.collapsed .nav-children {
  display: none;
}

.nav-children {
  display: grid;
  gap: 4px;
}

.nav-subsection {
  display: grid;
  gap: 3px;
}

.nav-subsection-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 34px;
  padding: 7px 12px 7px 32px;
  color: #e3edf0;
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
}

.nav-subsection-toggle b {
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.16s ease;
}

.nav-subsection.collapsed .nav-subsection-toggle b {
  transform: rotate(-45deg);
}

.nav-subsection.collapsed .nav-grandchildren {
  display: none;
}

.nav-grandchildren {
  display: grid;
  gap: 3px;
}

.nav-grandchildren button {
  width: 100%;
  min-height: 31px;
  padding: 6px 12px 6px 54px;
  color: #b9cbd2;
  font-size: 12px;
}

nav button {
  text-align: left;
  color: #dbe5ea;
  background: transparent;
  box-shadow: none;
}

.nav-children button,
.system-entry > button {
  width: 100%;
  min-height: 34px;
  padding: 7px 12px 7px 41px;
  font-size: 13px;
}

.system-entry {
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

nav button.active,
nav button:hover,
.nav-section-toggle:hover,
.nav-subsection-toggle:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.sidebar-collapsed nav {
  width: 100%;
}

.sidebar-collapsed .nav-section {
  justify-items: center;
}

.sidebar-collapsed .nav-section-toggle,
.sidebar-collapsed .system-entry > button {
  justify-content: center;
  width: 40px;
  min-height: 40px;
  padding: 0;
}

.sidebar-collapsed .nav-section-toggle span,
.sidebar-collapsed .system-entry > button span {
  gap: 0;
  font-size: 0;
}

.sidebar-collapsed .nav-section-toggle i,
.sidebar-collapsed .system-entry i {
  font-size: 18px;
}

.sidebar-collapsed .nav-section-toggle b,
.sidebar-collapsed .nav-children,
.sidebar-collapsed .nav-subsection {
  display: none;
}

.content {
  min-width: 0;
  padding: 24px 28px 40px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 9;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: -24px -28px 24px;
  padding: 20px 28px 16px;
  background: rgba(243, 246, 247, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(221, 229, 234, 0.72);
}

.topbar h2 {
  font-size: 28px;
}

.user-chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 13px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 14px;
}

.metrics article,
.module-card,
.placeholder,
.panel,
.hr-side,
.hr-main,
.current-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.metrics article {
  padding: 18px;
}

.metrics span,
.module-card span,
.current-card span {
  color: var(--muted);
  font-size: 13px;
}

.metrics strong {
  display: block;
  margin-top: 8px;
  font-size: 26px;
}

.compact-metrics {
  grid-template-columns: repeat(2, minmax(160px, 220px));
  margin: 0 0 12px;
}

.calendar-panel {
  margin: 18px 0;
}

.calendar-head,
.calendar-layout {
  display: flex;
  gap: 16px;
}

.calendar-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.calendar-head input {
  width: 180px;
}

.calendar-layout {
  align-items: stretch;
}

.memo-calendar {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.calendar-weekday,
.calendar-day {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.calendar-weekday {
  display: grid;
  place-items: center;
  min-height: 30px;
  color: var(--muted);
  background: #f7fafb;
  font-size: 12px;
  font-weight: 800;
}

.calendar-day {
  position: relative;
  min-height: 76px;
  padding: 8px;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.calendar-day:hover,
.calendar-day.selected {
  border-color: rgba(223, 63, 88, 0.6);
  background: var(--accent-soft);
  box-shadow: none;
}

.calendar-day.outside {
  opacity: 0.38;
}

.calendar-day strong {
  display: block;
  font-size: 13px;
}

.calendar-day em {
  position: absolute;
  right: 8px;
  bottom: 8px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  color: #fff;
  background: var(--accent);
  font-style: normal;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
}

.memo-form {
  width: 320px;
  display: grid;
  gap: 10px;
}

.memo-form textarea {
  resize: vertical;
}

.memo-options {
  display: flex;
  gap: 14px;
  color: var(--muted);
  font-size: 13px;
}

.memo-options label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.memo-options input {
  width: auto;
  min-height: auto;
}

.memo-list {
  display: grid;
  gap: 8px;
}

.memo-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfd;
}

.memo-item p {
  margin: 0;
  line-height: 1.5;
}

.memo-item span {
  color: var(--muted);
  font-size: 12px;
}

.module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.module-card {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 18px;
}

.module-card h3 {
  margin-top: 8px;
}

.module-card p {
  max-width: 520px;
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.module-card.live {
  border-color: rgba(223, 63, 88, 0.35);
}

.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: end;
  margin-bottom: 10px;
}

.month-box {
  width: 160px;
}

.panel {
  margin: 0 0 12px;
  padding: 16px;
}

.panel p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  align-items: end;
}

.hr-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 16px;
}

.hr-side {
  padding: 18px;
  align-self: start;
}

.change-types {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.change-types button {
  color: var(--ink);
  background: #eff1f3;
  box-shadow: none;
  text-align: left;
}

.change-types button.active {
  color: #fff;
  background: var(--accent);
}

.hr-main {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.hr-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.current-card {
  padding: 18px;
  border-left: 5px solid var(--accent);
}

.level-preview-card {
  border-left-color: var(--gold);
}

.current-card > strong {
  display: block;
  margin-top: 8px;
  font-size: 22px;
}

.muted-card {
  border-left-color: var(--line);
  background: #fafafb;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.detail-grid div {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfbfc;
}

.detail-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 15px;
}

.hr-form-grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.record-header,
.record-item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.record-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.record-item {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfbfc;
}

.record-item strong {
  display: block;
}

.record-item p {
  margin: 5px 0;
  color: var(--ink);
}

.record-item span {
  color: var(--muted);
  font-size: 12px;
}

.record-item.undone {
  background: #f3f4f4;
}

.small-empty {
  padding: 12px;
}

.search {
  max-width: 360px;
}

.payroll-search {
  width: 260px;
  margin-left: auto;
}

.note {
  margin: 0 0 8px;
  padding: 8px 11px;
  color: #6c5425;
  background: var(--gold-soft);
  border: 1px solid #efd6ab;
  border-radius: 6px;
}

.notice-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.notice-bar > span {
  min-width: 0;
}

.notice-close {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  min-height: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 6px;
  box-shadow: none;
  font-size: 16px;
  line-height: 1;
  opacity: 0.72;
}

.notice-close:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.45);
  box-shadow: none;
}

.payroll-status {
  margin: 0 0 10px;
  padding: 10px 12px;
  color: #2f69a8;
  background: #edf4fb;
  border: 1px solid #b8cbea;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
}

.table-wrap {
  overflow: auto;
  max-height: calc(100vh - 185px);
  border: 1px solid #dfe6eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.placeholder:has(.todo-center-header) {
  max-width: none;
  width: 100%;
  padding: 0;
}

.empty,
.placeholder {
  padding: 28px;
}

.placeholder {
  max-width: 720px;
}

.placeholder p:last-child {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.7;
}

.database-panel {
  display: grid;
  gap: 18px;
}

.database-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.database-note {
  padding: 14px 16px;
  border: 1px solid #dbe3ea;
  border-radius: 8px;
  background: #f8fafc;
  color: #52606b;
  line-height: 1.7;
}

.database-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 16px;
  align-items: start;
}

.database-grid h4 {
  margin: 0 0 10px;
  color: #20272b;
}

.database-table-wrap {
  max-height: 420px;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12px;
  white-space: nowrap;
}

th,
td {
  border-bottom: 1px solid #edf1f4;
  padding: 9px 10px;
  text-align: left;
  line-height: 1.45;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #4c5b66;
  background: #f7fafb;
  font-weight: 800;
  box-shadow: inset 0 -1px 0 #dfe6eb;
}

td {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  background: #fff;
}

tbody tr:nth-child(even) td {
  background: #fbfcfd;
}

tbody tr:hover td {
  background: #f1f4f7;
}

th.sticky-name,
td.sticky-name {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 82px;
  max-width: 92px;
  box-shadow: inset -1px 0 0 #e2e9ee;
}

th.sticky-name {
  z-index: 3;
  background: #f7fafb;
}

td.sticky-name {
  font-weight: 800;
}

td[contenteditable="true"] {
  background: #fffdf4;
  box-shadow: inset 0 0 0 1px #f0d993;
}

td[contenteditable="true"].sticky-name {
  background: #fff8db;
}

/* payroll-sticky-v251: freeze payroll columns through name. */
#payrollTable th.payroll-sticky,
#payrollTable td.payroll-sticky,
#payrollReviewTable th.payroll-sticky,
#payrollReviewTable td.payroll-sticky {
  position: sticky;
  z-index: 5;
  background: #fff;
  box-shadow: inset -1px 0 0 #d9e4ec;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

#payrollTable th.payroll-sticky,
#payrollReviewTable th.payroll-sticky {
  z-index: 7;
  background: #f7fafb;
}

#payrollTable th.payroll-sticky-0,
#payrollTable td.payroll-sticky-0,
#payrollReviewTable th.payroll-sticky-0,
#payrollReviewTable td.payroll-sticky-0 {
  left: 0;
  width: 64px;
  min-width: 64px;
  max-width: 64px;
}

#payrollTable th.payroll-sticky-1,
#payrollTable td.payroll-sticky-1,
#payrollReviewTable th.payroll-sticky-1,
#payrollReviewTable td.payroll-sticky-1 {
  left: 64px;
  width: 112px;
  min-width: 112px;
  max-width: 112px;
}

#payrollTable th.payroll-sticky-2,
#payrollTable td.payroll-sticky-2,
#payrollReviewTable th.payroll-sticky-2,
#payrollReviewTable td.payroll-sticky-2 {
  left: 176px;
  width: 128px;
  min-width: 128px;
  max-width: 128px;
}

#payrollTable th.payroll-sticky-3,
#payrollTable td.payroll-sticky-3,
#payrollReviewTable th.payroll-sticky-3,
#payrollReviewTable td.payroll-sticky-3 {
  left: 304px;
  width: 112px;
  min-width: 112px;
  max-width: 112px;
  font-weight: 800;
  box-shadow: 8px 0 14px rgba(30, 55, 80, 0.08), inset -1px 0 0 #cfdce6;
}

#payrollTable tbody tr:nth-child(even) td.payroll-sticky,
#payrollReviewTable tbody tr:nth-child(even) td.payroll-sticky {
  background: #fbfcfd;
}

#payrollTable tbody tr:hover td.payroll-sticky,
#payrollReviewTable tbody tr:hover td.payroll-sticky {
  background: #f1f4f7;
}

/* v301: freeze roster columns through name. */
#dataTable.active-roster-table th.active-roster-sticky,
#dataTable.active-roster-table td.active-roster-sticky {
  position: sticky !important;
  z-index: 5 !important;
  background: #fff !important;
  box-shadow: inset -1px 0 0 #d9e4ec !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dataTable.active-roster-table th.active-roster-sticky {
  z-index: 7 !important;
  background: #f7fafb !important;
}

#dataTable.active-roster-table th.active-roster-sticky-0,
#dataTable.active-roster-table td.active-roster-sticky-0 {
  left: 0 !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
}

#dataTable.active-roster-table th.active-roster-sticky-1,
#dataTable.active-roster-table td.active-roster-sticky-1 {
  left: 88px !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

#dataTable.active-roster-table th.active-roster-sticky-2,
#dataTable.active-roster-table td.active-roster-sticky-2 {
  left: 200px !important;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
}

#dataTable.active-roster-table th.active-roster-sticky-3,
#dataTable.active-roster-table td.active-roster-sticky-3 {
  left: 332px !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
}

#dataTable.active-roster-table th.active-roster-sticky-4,
#dataTable.active-roster-table td.active-roster-sticky-4 {
  left: 428px !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  font-weight: 800 !important;
  box-shadow: 8px 0 14px rgba(30, 55, 80, 0.08), inset -1px 0 0 #cfdce6 !important;
}

#dataTable.active-roster-table tbody tr:nth-child(even) td.active-roster-sticky {
  background: #fbfcfd !important;
}

#dataTable.active-roster-table tbody tr:hover td.active-roster-sticky {
  background: #f1f4f7 !important;
}

.history-panel {
  max-width: none;
}

.history-list {
  margin-top: 16px;
}

.history-table {
  max-height: calc(100vh - 210px);
}

.history-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 13px;
}

.pager-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pager-actions input {
  width: 72px;
  min-height: 30px;
  text-align: center;
}

.history-desc {
  min-width: 260px;
  max-width: 420px;
  white-space: normal;
}

.history-value {
  min-width: 120px;
  max-width: 240px;
  white-space: normal;
  word-break: break-word;
}

.reconcile-sheet-panel {
  max-width: none;
  padding: 0;
  overflow: hidden;
}

.reconcile-sheet-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 24px 28px;
  border-bottom: 1px solid #dfe6eb;
  background: #fff;
}

.reconcile-sheet-head h3 {
  margin: 0;
  font-size: 22px;
}

.reconcile-sheet-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.reconcile-period-box {
  min-width: 150px;
  margin: 0;
}

.reconcile-matrix-wrap {
  max-height: calc(100vh - 180px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.reconcile-matrix-wrap table {
  min-width: 1900px;
  font-size: 12px;
}

.reconcile-matrix-wrap th,
.reconcile-matrix-wrap td {
  min-width: 86px;
  max-width: 130px;
  padding: 9px 8px;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  border-right: 1px solid #edf1f4;
}

.reconcile-matrix-wrap td {
  position: relative;
}

.reconcile-matrix-wrap th:first-child,
.reconcile-matrix-wrap td:first-child {
  position: sticky;
  left: 0;
  z-index: 4;
  min-width: 110px;
  background: #fff;
  text-align: left;
  font-weight: 800;
}

.reconcile-matrix-wrap th:first-child {
  z-index: 6;
  background: #f7fafb;
}

.reconcile-matrix-wrap th:nth-child(2),
.reconcile-matrix-wrap td:nth-child(2) {
  min-width: 92px;
}

.reconcile-matrix-wrap th:nth-child(4),
.reconcile-matrix-wrap td:nth-child(4),
.reconcile-matrix-wrap th:nth-child(7),
.reconcile-matrix-wrap td:nth-child(7),
.reconcile-matrix-wrap th:nth-child(12),
.reconcile-matrix-wrap td:nth-child(12) {
  min-width: 132px;
}

.reconcile-group-start td {
  border-top: 2px solid #a9bedb;
}

.diff-line td {
  background: #fff8ec;
  font-weight: 800;
}

.editable-bill-cell {
  background: #fffdf4 !important;
}

.bill-cell-value[contenteditable="true"] {
  display: inline-block;
  min-width: 54px;
  padding: 2px 4px;
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px #f0d993;
  cursor: text;
}

.bill-cell-value[contenteditable="true"]:focus {
  outline: 2px solid #d69a2d;
  outline-offset: -2px;
}

button.danger {
  color: #9f2e2e;
  background: #fff1f1;
  border: 1px solid #efc6c6;
  box-shadow: none;
}

.bill-explain-row td {
  color: var(--muted);
  background: #fbfcfd;
  text-align: center;
}

.bill-explain-row .bill-note-slot {
  color: #71808a;
  cursor: pointer;
}

.bill-explain-row .bill-note-slot span {
  color: #a5b0b7;
}

.bill-explain-row .bill-note-slot.has-field-note {
  color: #8a5200;
  background: #fff7e7;
  font-weight: 800;
}

.diff-cell {
  color: #9a4b00;
  font-weight: 900;
}

.sales-detail-panel {
  padding: 22px 28px 28px;
  border-top: 1px solid #dfe6eb;
  background: linear-gradient(180deg, #fbfbfc 0%, #f3f5f7 100%);
}

.detail-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 12px;
}

.detail-head h3 {
  margin: 2px 0 0;
  font-size: 20px;
}

.detail-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.detail-metrics span,
.detail-metrics b {
  padding: 8px 10px;
  border: 1px solid #dfe4e9;
  border-radius: 8px;
  background: #fff;
  color: #31444a;
  font-size: 13px;
}

.detail-metrics b {
  color: #8a5200;
  border-color: #efcf98;
  background: #fff8ea;
}

.detail-note,
.detail-empty {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  background: #fff;
  color: #526971;
  font-size: 13px;
}

.detail-note.warning {
  border-color: #efcf98;
  background: #fff8ea;
  color: #8a5200;
  font-weight: 800;
}

.detail-empty {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.detail-empty div {
  display: grid;
  gap: 4px;
}

.detail-ready button {
  white-space: nowrap;
}

.detail-empty.warning {
  border-color: #efcf98;
  background: #fff8ea;
  color: #8a5200;
}

.detail-loading {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dfe3e8;
  border-radius: 10px;
  background: #fff;
}

.detail-loading-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #33484f;
}

.detail-loading-head span,
.detail-loading p {
  margin: 0;
  color: #667a82;
  font-size: 13px;
}

.detail-progress {
  position: relative;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf2;
}

.detail-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d93650, #d69a2d);
  animation: detail-progress-slide 1.25s ease-in-out infinite;
}

@keyframes detail-progress-slide {
  0% {
    transform: translateX(-110%);
  }
  100% {
    transform: translateX(240%);
  }
}

.detail-head-actions {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.detail-ready-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.detail-field-tabs {
  display: inline-flex;
  padding: 3px;
  border: 1px solid #dce1e6;
  border-radius: 8px;
  background: #f1f4f7;
  gap: 2px;
}

.detail-field-tabs .compact-btn {
  min-height: 30px;
  padding: 6px 10px;
  border-color: transparent;
  background: transparent;
  color: #496169;
  box-shadow: none;
}

.detail-field-tabs .compact-btn.active {
  background: #fff;
  color: #d93650;
  border-color: #d9e0e6;
  box-shadow: 0 6px 16px rgba(35, 43, 52, 0.08);
}

.sales-detail-wrap {
  max-height: 420px;
  border-radius: 8px;
}

.sales-detail-wrap table {
  min-width: 1180px;
  font-size: 12px;
}

.sales-detail-wrap th,
.sales-detail-wrap td {
  padding: 10px 12px;
  vertical-align: top;
}

.sales-detail-wrap tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 3;
  border-top: 1px solid #d2d8de;
  background: #f7f8fa;
  font-weight: 900;
}

.sales-detail-wrap th:first-child,
.sales-detail-wrap td:first-child {
  min-width: 190px;
}

.sales-detail-wrap .order-cell {
  max-width: 180px;
  min-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.serial-cell {
  font-family: Consolas, "Courier New", monospace;
  font-size: 12px;
}

.type-pill {
  display: inline-flex;
  min-width: 48px;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f4f1f5;
  color: #d93650;
  font-weight: 800;
}

.type-compare {
  display: block;
  margin-top: 4px;
  color: #6f7f86;
  font-size: 11px;
  line-height: 1.35;
}

.diff-field b {
  color: #9a4b00;
}

.reconcile-note-form {
  display: grid;
  gap: 10px;
  padding-top: 12px;
}

.compact-btn {
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
}

@media (max-width: 900px) {
  .app-shell,
  .login-panel {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
  }

  .sidebar-toggle {
    display: none;
  }

  .metrics,
  .module-grid,
  .form-grid,
  .hr-layout,
  .detail-grid,
  .reconcile-layout {
    grid-template-columns: 1fr;
  }

  .reconcile-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .calendar-layout {
    display: grid;
  }

  .memo-form {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .login-shell {
    padding: 18px;
  }

  .login-panel {
    padding: 34px 28px;
    gap: 24px;
  }

  .login-panel h1 {
    font-size: 36px;
  }
}

/* Refined visual layer */
:root {
  --ink: #16232b;
  --muted: #64737d;
  --soft: #8fa0aa;
  --line: #d9e3e8;
  --line-strong: #bfced6;
  --panel: #ffffff;
  --bg: #f1f2f4;
  --nav: #242a30;
  --nav-2: #323a43;
  --accent: #df3f58;
  --accent-dark: #b72d43;
  --accent-soft: #fff0f2;
  --gold: #4f6478;
  --gold-soft: #eef3f7;
  --danger: #b42318;
  --shadow: 0 18px 50px rgba(19, 43, 54, 0.1);
  --shadow-soft: 0 10px 28px rgba(19, 43, 54, 0.07);
}

body {
  background: linear-gradient(180deg, #f8f8f9 0%, #f1f2f4 48%, #edf0f3 100%);
}

button {
  border: 1px solid rgba(223, 63, 88, 0.16);
  border-radius: 7px;
  background: linear-gradient(180deg, #e24a61 0%, #d93650 100%);
  box-shadow: 0 10px 22px rgba(223, 63, 88, 0.18);
  font-weight: 800;
}

button:hover {
  background: linear-gradient(180deg, #cf354d 0%, #aa273d 100%);
}

button.secondary {
  border-color: rgba(64, 82, 100, 0.2);
  background: linear-gradient(180deg, #60778d 0%, #465b70 100%);
  box-shadow: 0 10px 22px rgba(55, 72, 89, 0.16);
}

button.secondary:hover {
  background: linear-gradient(180deg, #4f657a 0%, #35495c 100%);
}

#employeeSelectBox input {
  width: 100%;
}

input,
select,
textarea {
  border-color: #d4e0e6;
  background: #fbfbfc;
}

.login-shell {
  background:
    linear-gradient(135deg, rgba(37, 42, 48, 0.92), rgba(189, 47, 70, 0.86)),
    linear-gradient(180deg, #f7f8fa, #edf0f3);
}

.login-panel {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 34px 90px rgba(34, 38, 44, 0.26);
}

.login-form {
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
}

.sidebar {
  background: linear-gradient(180deg, rgba(18, 45, 59, 0.98) 0%, rgba(12, 34, 47, 0.98) 100%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08), 10px 0 34px rgba(15, 35, 45, 0.08);
}

.brand {
  padding: 4px 2px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.brand-mark {
  background: linear-gradient(180deg, #ffc46d 0%, #efa747 100%);
  color: #242a30;
  box-shadow: 0 10px 22px rgba(239, 167, 71, 0.22);
}

.nav-section {
  gap: 6px;
}

.nav-section-toggle,
.system-entry > button {
  color: #edf5f7;
  border-radius: 8px;
}

.nav-section-toggle i,
.system-entry i {
  color: #f0b85a;
}

.nav-children {
  padding: 2px 0 6px;
}

.nav-subsection-toggle {
  border-radius: 7px;
  color: #dbe7eb;
}

.nav-grandchildren {
  padding-bottom: 3px;
}

.nav-grandchildren button {
  border-radius: 7px;
  color: #aebfc6;
}

.nav-children button,
.system-entry > button {
  border-radius: 8px;
  color: #c7d6dc;
}

nav button.active {
  color: #ffffff;
  background: rgba(223, 63, 88, 0.34);
  box-shadow: inset 3px 0 0 #f0b85a;
}

nav button:hover,
.nav-section-toggle:hover,
.nav-subsection-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
}

.content {
  padding: 26px 30px 42px;
}

.topbar {
  margin: -26px -30px 24px;
  padding: 22px 30px 17px;
  background: rgba(248, 248, 249, 0.9);
  border-bottom: 1px solid rgba(205, 218, 225, 0.68);
  box-shadow: 0 8px 24px rgba(26, 55, 66, 0.04);
}

.topbar h2 {
  color: #142733;
  font-size: 29px;
}

.user-chip {
  border-color: #d5e0e6;
  background: rgba(255, 255, 255, 0.86);
}

.metrics article,
.module-card,
.placeholder,
.panel,
.hr-side,
.hr-main,
.current-card {
  border-color: #dce7ec;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(251, 251, 252, 0.96) 100%);
  box-shadow: 0 12px 28px rgba(19, 43, 54, 0.06);
}

.metrics article {
  border-top: 3px solid rgba(223, 63, 88, 0.48);
}

.metrics strong {
  color: #242a30;
}

.module-card.live {
  border-color: rgba(223, 63, 88, 0.34);
  box-shadow: 0 14px 34px rgba(223, 63, 88, 0.08);
}

.toolbar {
  padding: 10px;
  border: 1px solid #dce7ec;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 20px rgba(19, 43, 54, 0.04);
}

.note {
  color: #6d5018;
  border-color: #efd59d;
  background: linear-gradient(180deg, #fff9ec 0%, #fff4dd 100%);
}

.table-wrap {
  border-color: #d9e4ea;
  background: #fff;
  box-shadow: 0 14px 34px rgba(19, 43, 54, 0.07);
}

th {
  color: #445864;
  background: linear-gradient(180deg, #f7f8fa 0%, #f2f4f6 100%);
  box-shadow: inset 0 -1px 0 #d7e2e8;
}

tbody tr:nth-child(even) td {
  background: #f9fbfc;
}

tbody tr:hover td {
  background: #fff3f5;
}

td[contenteditable="true"],
.editable-bill-cell {
  background: #fffaf0 !important;
  box-shadow: inset 0 0 0 1px #e8c879;
}

.reconcile-sheet-head {
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
  border-bottom-color: #d7e3e8;
}

.reconcile-group-start td {
  border-top-color: #8aa5c2;
}

.diff-line td {
  background: #fff7e7;
}

.bill-explain-row td {
  background: #f7fafb;
}

.diff-cell {
  color: #a45a00;
}

.sales-detail-panel {
  background: linear-gradient(180deg, #fbfbfc 0%, #f5f6f8 100%);
}

.detail-metrics span,
.detail-metrics b,
.detail-note,
.detail-empty,
.detail-loading {
  border-color: #dfe3e7;
  background: rgba(255, 255, 255, 0.92);
}

.detail-field-tabs {
  border-color: #dfe3e7;
  background: #f1f3f6;
}

.type-pill {
  background: #fff0f2;
  color: #d93650;
}

button.danger {
  color: #a42c2c;
  background: #fff1f1;
  border-color: #efc6c6;
}

.data-system-shell {
  overflow: hidden;
  border: 1px solid #dbe1e6;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.data-system-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 26px 20px;
  border-bottom: 1px solid #dfe4e9;
  background:
    linear-gradient(110deg, rgba(255, 240, 242, 0.82), rgba(255, 255, 255, 0.96) 48%),
    #fff;
}

.data-system-head h3 {
  margin: 5px 0 7px;
  color: #2a3036;
  font-size: 24px;
}

.data-system-head p:last-child {
  margin: 0;
  color: var(--muted);
}

.data-system-actions {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.data-system-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 16px;
  border-bottom: 1px solid #e1eaed;
  background: #f8f9fa;
}

.data-system-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: #667984;
  font-size: 13px;
}

.data-system-meta strong {
  color: #2c3339;
  font-size: 14px;
}

.data-system-toolbar .search {
  width: min(360px, 38vw);
}

.data-system-ai-panel {
  margin: 0 20px 16px;
  overflow: hidden;
  border: 1px solid #efc6ce;
  border-left: 3px solid #e53855;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(44, 57, 66, 0.08);
}

.data-system-ai-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 15px;
  border-bottom: 1px solid #edf0f2;
  background: #fff7f8;
}

.data-system-ai-panel header > div {
  display: grid;
  gap: 2px;
}

.data-system-ai-panel header span {
  color: #e53855;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.data-system-ai-panel header strong {
  color: #243843;
  font-size: 15px;
}

.data-system-ai-panel header button {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #e1e6e9;
  border-radius: 50%;
  background: #fff;
  color: #60717a;
  box-shadow: none;
  font-size: 19px;
}

.data-system-ai-content {
  padding: 15px;
  color: #334953;
  font-size: 13px;
  line-height: 1.8;
  white-space: pre-wrap;
}

.data-system-ai-panel footer {
  padding: 9px 15px;
  border-top: 1px solid #edf0f2;
  color: #819099;
  font-size: 11px;
}

.data-system-table {
  max-height: calc(100vh - 285px);
  min-height: 340px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.data-system-table table {
  min-width: 100%;
}

.data-system-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  white-space: nowrap;
}

.data-system-th {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.data-system-sort {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  color: #9aa9b0;
  background: transparent;
  box-shadow: none;
  font-size: 8px;
  line-height: 18px;
}

.data-system-sort:hover {
  color: #d93650;
  background: #fff0f2;
  box-shadow: none;
}

.data-system-sort.active {
  color: #d93650;
  background: #ffe2e7;
  box-shadow: none;
}

.data-system-table td {
  max-width: 320px;
  min-width: 112px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.data-system-grid-project th:first-child,
.data-system-grid-project td:first-child,
.data-system-grid-store th:nth-child(1),
.data-system-grid-store td:nth-child(1),
.data-system-grid-store th:nth-child(2),
.data-system-grid-store td:nth-child(2),
.data-system-grid-store th:nth-child(3),
.data-system-grid-store td:nth-child(3) {
  position: sticky;
  z-index: 3;
  background: #fff;
}

.data-system-grid-project th:first-child,
.data-system-grid-store th:nth-child(-n+3) {
  z-index: 5;
  background: #f2f4f6;
}

.data-system-grid-project th:first-child,
.data-system-grid-project td:first-child,
.data-system-grid-store th:nth-child(1),
.data-system-grid-store td:nth-child(1) {
  left: 0;
  width: 150px;
  min-width: 150px;
  max-width: 150px;
}

.data-system-grid-store th:nth-child(2),
.data-system-grid-store td:nth-child(2) {
  left: 150px;
  width: 230px;
  min-width: 230px;
  max-width: 230px;
}

.data-system-grid-store th:nth-child(3),
.data-system-grid-store td:nth-child(3) {
  left: 380px;
  width: 96px;
  min-width: 96px;
  max-width: 96px;
  box-shadow: 5px 0 8px rgba(24, 56, 71, 0.08);
}

.data-system-grid-project th:first-child,
.data-system-grid-project td:first-child {
  box-shadow: 5px 0 8px rgba(24, 56, 71, 0.08);
}

.data-system-grid-project tbody tr:nth-child(even) td:first-child,
.data-system-grid-store tbody tr:nth-child(even) td:nth-child(-n+3) {
  background: #f9fbfc;
}

.data-system-grid-project tbody tr:hover td:first-child,
.data-system-grid-store tbody tr:hover td:nth-child(-n+3) {
  background: #fff3f5;
}

.data-system-value,
.data-system-comparison {
  display: block;
}

.data-system-comparison {
  margin-top: 3px;
  color: #8998a0;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}

.data-system-comparison.growth-up {
  color: #c5362e;
}

.data-system-comparison.growth-down {
  color: #2f69a8;
}

.data-system-comparison.growth-flat {
  color: #84939a;
}

.nav-children .nav-subsection-toggle {
  min-height: 34px;
  padding: 7px 12px 7px 32px;
  color: #dbe7eb;
  font-size: 13px;
  font-weight: 800;
}

.nav-children .nav-grandchildren button {
  min-height: 31px;
  padding: 6px 12px 6px 54px;
  color: #aebfc6;
  font-size: 12px;
  font-weight: 600;
}

.data-system-identity strong,
.data-system-identity span {
  display: block;
}

.data-system-identity span {
  margin-top: 3px;
  color: #60747e;
  font-size: 11px;
}

.data-system-growth-row td {
  min-width: 112px;
  padding-top: 7px;
  padding-bottom: 7px;
  color: #8998a0;
  background: #f8f8f9 !important;
  border-bottom: 2px solid #dfe4e8;
  font-size: 12px;
}

.data-system-growth-row td:first-child {
  color: #526871;
}

.data-system-growth-row .growth-up {
  color: #c5362e;
  font-weight: 800;
}

.data-system-growth-row .growth-down {
  color: #2f69a8;
  font-weight: 800;
}

.data-system-growth-row .growth-flat {
  color: #73828a;
}

.data-system-empty {
  min-height: 340px;
  display: grid;
  place-content: center;
  gap: 8px;
  text-align: center;
  color: var(--muted);
}

.data-system-empty strong {
  color: #343b42;
  font-size: 18px;
}

.data-system-no-result {
  padding: 34px;
  text-align: center;
  color: var(--muted);
}

@media (max-width: 850px) {
  .data-system-head,
  .data-system-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .data-system-actions {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .data-system-toolbar .search {
    width: 100%;
  }
}

/* Light navigation hierarchy inspired by marketplace admin consoles */
.app-shell {
  grid-template-columns: 286px minmax(0, 1fr);
}

.sidebar {
  gap: 14px;
  padding: 16px 14px;
  color: #20272b;
  background: #f7f8fa;
  border-right: 1px solid #dde2e6;
  box-shadow: 8px 0 24px rgba(32, 39, 43, 0.05);
}

.brand {
  padding: 2px 2px 14px;
  border-bottom: 1px solid #dde2e6;
}

.brand-mark {
  background: #ff4d5e;
  color: #fff;
  box-shadow: none;
}

.brand strong {
  color: #20272b;
}

.brand small {
  color: #7d888f;
}

.sidebar-toggle {
  color: #626d74;
  border-color: #d8dde1;
  background: #fff;
}

.sidebar-toggle:hover {
  color: #e52d44;
  background: #fff1f3;
}

#nav {
  gap: 7px;
  overflow-y: auto;
  padding-right: 2px;
}

.nav-section {
  gap: 2px;
}

.nav-section-toggle,
.system-entry > button {
  color: #252d31;
  border-radius: 6px;
  background: transparent;
  font-size: 14px;
}

.nav-section-toggle i,
.system-entry i {
  color: #313a3f;
  font-size: 15px;
}

.nav-section-toggle b,
.nav-subsection-toggle b {
  color: #8a949a;
}

.nav-children {
  margin: 1px 0 4px 18px;
  padding: 4px 0 5px 13px;
  border-left: 1px solid #d9dee2;
}

.nav-children > button {
  padding-left: 12px;
  color: #58646b;
}

.nav-subsection {
  position: relative;
  gap: 1px;
}

.nav-subsection-toggle,
.nav-children .nav-subsection-toggle {
  min-height: 35px;
  padding: 7px 9px;
  color: #2e383d;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
}

.nav-subsection-toggle span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.nav-subsection-toggle span::before {
  content: "鈻?;
  color: #68747a;
  font-size: 13px;
}

[data-nav-subsection="salary"] .nav-subsection-toggle span::before {
  content: "锟?;
}

[data-nav-subsection="lakeBills"] .nav-subsection-toggle span::before,
[data-nav-subsection="youpinBills"] .nav-subsection-toggle span::before {
  content: "鈻?;
}

.nav-subsection-toggle b {
  width: 7px;
  height: 7px;
  margin-right: 3px;
}

.nav-grandchildren {
  position: relative;
  margin: 0 0 4px 11px;
  padding: 2px 0 2px 14px;
}

.nav-grandchildren::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 2px;
  border-radius: 2px;
  background: #e5e8eb;
}

.nav-grandchildren button,
.nav-children .nav-grandchildren button {
  position: relative;
  min-height: 30px;
  padding: 5px 9px;
  color: #68747a;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 600;
}

.nav-grandchildren button.active::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: -14px;
  width: 2px;
  border-radius: 2px;
  background: #f02f4b;
}

#nav button:hover,
.nav-section-toggle:hover,
.nav-subsection-toggle:hover {
  color: #20272b;
  background: #eceff1;
}

#nav button.active {
  color: #e52d44;
  background: #fff0f2;
  box-shadow: none;
}

.nav-subsection-toggle.active {
  color: #e52d44;
  background: #fff0f2;
}

.system-entry {
  border-top-color: #d9dee2;
}

.sidebar #logoutBtn {
  color: #5f6b72;
  border-color: #d8dde1;
  background: #fff;
}

.sidebar #logoutBtn:hover {
  color: #e52d44;
  border-color: #f1b3bd;
  background: #fff3f5;
}

.sidebar-collapsed .sidebar {
  background: #f7f8fa;
}

.sidebar-collapsed .nav-section-toggle,
.sidebar-collapsed .system-entry > button {
  color: #313a3f;
}

.sidebar-collapsed .nav-section-toggle:hover,
.sidebar-collapsed .system-entry > button:hover,
.sidebar-collapsed nav button.active {
  color: #e52d44;
  background: #fff0f2;
}

#nav button,
#nav button:hover,
#nav button:active,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button {
  border: 0;
  box-shadow: none;
  transform: none;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  min-height: 42px;
  padding: 8px 7px;
  border-radius: 0;
}

#nav .nav-section-toggle i,
#nav .system-entry i {
  width: 30px;
  height: 30px;
  color: #39444a;
  font-size: 0;
}

#nav .oa-icon {
  display: inline-block;
  flex: 0 0 30px;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 22px 22px;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 22px 22px;
}

#nav .oa-icon-home {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.8 12 3l9 7.8v9.7a.5.5 0 0 1-.5.5H15v-7H9v7H3.5a.5.5 0 0 1-.5-.5z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.8 12 3l9 7.8v9.7a.5.5 0 0 1-.5.5H15v-7H9v7H3.5a.5.5 0 0 1-.5-.5z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#nav .oa-icon-finance {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='15' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3 9h18M16 13h5M7 2v5M17 2v5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='15' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3 9h18M16 13h5M7 2v5M17 2v5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

#nav .oa-icon-reconcile {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M5 6h14M7 6 3.5 13h7zM17 6l-3.5 7h7zM7 21h10' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M5 6h14M7 6 3.5 13h7zM17 6l-3.5 7h7zM7 21h10' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#nav .oa-icon-database {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M4 5v7c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12v7c0 1.7 3.6 3 8 3s8-1.3 8-3v-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M4 5v7c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12v7c0 1.7 3.6 3 8 3s8-1.3 8-3v-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");
}

#nav .oa-icon-history {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5M12 7v5l3 2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5M12 7v5l3 2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#nav .oa-icon-users {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3 20v-2c0-3 2.7-5 6-5s6 2 6 5v2M16 5.5a3 3 0 0 1 0 5.5M17 14c2.4.4 4 2 4 4v2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3 20v-2c0-3 2.7-5 6-5s6 2 6 5v2M16 5.5a3 3 0 0 1 0 5.5M17 14c2.4.4 4 2 4 4v2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

#nav .oa-icon-code {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#nav .oa-icon-tools {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 4.2a4.5 4.5 0 0 0 5 5L11 18.1 7.9 15zM5 19l3-3M4 5h5M6.5 2.5v5M17 17h4M19 15v4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 4.2a4.5 4.5 0 0 0 5 5L11 18.1 7.9 15zM5 19l3-3M4 5h5M6.5 2.5v5M17 17h4M19 15v4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  position: relative;
  width: 36px;
  height: 36px;
  margin: -4px -5px -4px 4px;
  flex: 0 0 36px;
  border: 0;
  border-radius: 50%;
  transform: none;
}

#nav .nav-section-toggle b::after,
#nav .nav-subsection-toggle b::after {
  content: "";
  position: absolute;
  top: 13px;
  left: 13px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.16s ease;
}

#nav .nav-section-toggle b:hover,
#nav .nav-subsection-toggle b:hover {
  color: #e52d44;
  background: #ffe9ed;
}

#nav .nav-section.collapsed .nav-section-toggle b,
#nav .nav-subsection.collapsed .nav-subsection-toggle b {
  transform: none;
}

#nav .nav-section.collapsed .nav-section-toggle b::after,
#nav .nav-subsection.collapsed .nav-subsection-toggle b::after {
  transform: rotate(-45deg);
}
#nav .nav-subsection-toggle {
  min-height: 38px;
  border-radius: 0;
}

#nav .nav-subsection-toggle span::before {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  content: "鈻?;
  color: #4d5960;
  font-size: 18px;
  font-weight: 400;
}

#nav [data-nav-subsection="salary"] .nav-subsection-toggle span::before,
#nav [data-nav-subsection="lakeBills"] .nav-subsection-toggle span::before,
#nav [data-nav-subsection="youpinBills"] .nav-subsection-toggle span::before {
  content: "鈻?;
}

#nav [data-nav-subsection="formatTools"] .nav-subsection-toggle span::before {
  content: "◇";
}

#nav .nav-grandchildren button {
  border-radius: 0;
}

#nav button.active,
#nav .nav-subsection-toggle.active {
  border-radius: 0;
}

.connection-notice {
  position: fixed;
  top: 14px;
  left: 50%;
  z-index: 9999;
  max-width: min(520px, calc(100vw - 28px));
  padding: 10px 16px;
  color: #8f1d2c;
  border: 1px solid #f2b7c0;
  border-radius: 6px;
  background: #fff3f5;
  box-shadow: 0 12px 32px rgba(78, 20, 29, 0.14);
  font-size: 14px;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -12px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.connection-notice.visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.connection-notice.recovering {
  color: #8a4b08;
  border-color: #f0c36a;
  background: #fff8e8;
}

.connection-notice.recovered {
  color: #0b6b50;
  border-color: #91d5c3;
  background: #effbf7;
}

.youpin-shell {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 16px;
}

#invoiceProductionView,
#airCleanReconcileView,
#youpinResult,
.youpin-preview-head {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.youpin-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(110deg, #fff0f2 0%, #ffffff 56%, #eef3f7 100%);
}

.youpin-head h3,
.youpin-preview-head h3 {
  margin: 3px 0 0;
  font-size: 24px;
}

.youpin-head p:last-child {
  margin: 8px 0 0;
  color: var(--muted);
}

.youpin-code-map {
  display: flex;
  gap: 10px;
}

.youpin-code-map span {
  display: grid;
  min-width: 150px;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #d9e2e8;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.86);
}

.youpin-code-map b {
  color: #667984;
  font-size: 12px;
}

.youpin-code-map strong {
  color: var(--accent);
  font-size: 18px;
}

.youpin-controls {
  display: grid;
  gap: 16px;
}

.youpin-upload-grid,
.youpin-actions,
.youpin-preview-head,
.youpin-tabs {
  display: flex;
  align-items: center;
  gap: 12px;
}

.youpin-upload-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.youpin-upload-grid button {
  min-height: 38px;
  padding: 9px 16px;
}

.youpin-file-names {
  display: flex;
  min-width: 280px;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
}

.youpin-actions {
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.youpin-actions > span {
  margin-right: auto;
  color: var(--muted);
  font-size: 13px;
}

.youpin-metrics {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.youpin-metrics article {
  position: relative;
}

.youpin-metrics small {
  margin-left: 4px;
  color: var(--muted);
}

.airclean-shell {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 16px;
}

.airclean-head {
  padding: 22px 24px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(110deg, #fff0f2 0%, #ffffff 58%, #eef3f7 100%);
}

.airclean-head h3,
.airclean-preview-head h3 {
  margin: 3px 0 0;
  font-size: 24px;
}

.airclean-head p:last-child {
  margin: 8px 0 0;
  max-width: 920px;
  color: var(--muted);
}

.airclean-controls {
  display: grid;
  gap: 14px;
}

.airclean-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.airclean-topbar-spacer {
  flex: 1 1 120px;
}

.airclean-topbar label {
  display: grid;
  min-width: 150px;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}

.airclean-topbar select {
  min-height: 38px;
  padding: 0 12px;
}

.airclean-upload-row,
.airclean-actions,
.airclean-preview-head,
.airclean-compare {
  display: flex;
  align-items: center;
  gap: 10px;
}

.airclean-upload-row {
  flex-wrap: wrap;
}

.airclean-upload-row button {
  min-height: 38px;
  padding: 9px 15px;
}

.airclean-file-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 8px 14px;
  color: var(--muted);
  font-size: 13px;
}

.airclean-data-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #dbe3e8;
  border-radius: 8px;
  background: #f7f9fb;
  color: #445966;
  font-size: 13px;
}

.airclean-data-status:empty {
  display: none;
}

.airclean-data-status strong {
  margin-right: 4px;
  color: #102a43;
}

.airclean-data-status span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #dce4e8;
}

.airclean-data-status .ok {
  color: #23394a;
}

.airclean-data-status .missing {
  color: var(--accent);
  border-color: #f2b6c2;
  background: #fff4f6;
}

.airclean-actions {
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.airclean-actions > span {
  margin-right: auto;
  color: var(--muted);
  font-size: 13px;
}

.airclean-metrics {
  grid-template-columns: repeat(7, minmax(130px, 1fr));
}

.airclean-metrics.hidden {
  display: none;
}

.airclean-bills {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.airclean-bill-meta {
  justify-self: end;
  color: var(--muted);
  font-size: 13px;
}

.airclean-bill-detail {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #dce4e8;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(45, 61, 74, 0.06);
}

.airclean-bill-detail.empty {
  color: var(--muted);
  background: #f7f9fb;
}

.airclean-bill-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.airclean-bill-detail-head h3 {
  margin: 3px 0 0;
  font-size: 22px;
}

.airclean-bill-detail-head span {
  color: var(--muted);
  font-size: 13px;
}

.airclean-bill-table {
  max-height: 360px;
  overflow: auto;
}

.airclean-bill-table table {
  min-width: 1680px;
}

.airclean-bill-table th {
  max-width: 138px;
  min-width: 86px;
  white-space: normal;
  line-height: 1.25;
  vertical-align: middle;
}

.airclean-bill-table td {
  white-space: nowrap;
}

.airclean-bill-table th:first-child,
.airclean-bill-table td:first-child {
  position: sticky;
  left: 0;
  font-weight: 800;
  box-shadow: 1px 0 0 #dce4e8;
}

.airclean-bill-table th:first-child {
  z-index: 4;
  background: #f3f7fa;
}

.airclean-bill-table td:first-child {
  z-index: 3;
  background: #ffffff;
}

.airclean-bill-table tbody tr:nth-child(even) td:first-child {
  background: #f8fafc;
}

.airclean-bill-table .airclean-diff-row {
  background: #fff6e6;
  color: #a05a00;
  font-weight: 800;
}

.airclean-bill-table .airclean-note-row {
  background: #f7f9fb;
  color: #6b7b86;
  font-weight: 700;
}

.airclean-compare {
  flex-wrap: wrap;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #f2b6c2;
  border-radius: 8px;
  background: #fff4f6;
  color: #6b2a35;
}

.airclean-compare strong {
  margin-right: 10px;
  color: var(--accent);
}

.airclean-compare p {
  width: 100%;
  margin: 2px 0 0;
  color: var(--muted);
}

.airclean-preview-table {
  max-height: 430px;
  overflow: auto;
}

.airclean-cache-panel {
  display: grid;
  gap: 12px;
}

.airclean-cache-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.airclean-cache-actions .search {
  min-width: 260px;
}

.airclean-history-tabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #dbe3e8;
  border-radius: 7px;
  background: #f3f6f8;
}

.airclean-history-tabs button {
  min-height: 30px;
  padding: 5px 11px;
  color: #526871;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.airclean-history-tabs button:hover,
.airclean-history-tabs button.active {
  color: var(--accent);
  background: #ffffff;
  box-shadow: inset 0 0 0 1px #f2b6c2;
}

.airclean-settlement-table {
  max-height: 320px;
  overflow: auto;
}

.airclean-settlement-table table {
  min-width: 1180px;
}

.airclean-preview-table table {
  min-width: 1280px;
}

.toolkit-shell {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 16px;
}

.toolkit-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  border: 1px solid #dce4e8;
  border-radius: 8px;
  background: linear-gradient(112deg, #fff0f3 0%, #ffffff 52%, #f2f5f8 100%);
}

.toolkit-hero h3 {
  margin: 3px 0 0;
  font-size: 26px;
}

.toolkit-hero p:last-child {
  margin: 8px 0 0;
  color: var(--muted);
}

.toolkit-roadmap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 520px;
}

.toolkit-roadmap span {
  padding: 7px 10px;
  border: 1px solid #dbe3e8;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #50616b;
  font-size: 12px;
  font-weight: 800;
}

.toolkit-layout {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.toolkit-menu {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dce4e8;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(45, 61, 74, 0.06);
}

.toolkit-menu button {
  justify-content: flex-start;
  min-height: 38px;
  color: #536671;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
}

.toolkit-menu button.active {
  color: #e52d44;
  background: #fff0f2;
}

.toolkit-menu button:disabled {
  color: #9aa6ad;
  background: #f6f8fa;
}

.pdf-tool-panel {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.pdf-tool-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
}

.pdf-tool-actions label {
  display: grid;
  min-width: 130px;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}

.pdf-tool-actions select {
  min-height: 38px;
  padding: 0 12px;
}

.pdf-drop-zone {
  display: grid;
  place-items: center;
  gap: 9px;
  min-height: 230px;
  padding: 24px;
  border: 1.5px dashed #cfd8df;
  border-radius: 8px;
  background: #f8fafc;
  color: #43545f;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

.pdf-drop-zone:hover,
.pdf-drop-zone:focus,
.pdf-drop-zone.drag-over {
  border-color: #e52d44;
  background: #fff4f6;
  outline: none;
  transform: translateY(-1px);
}

.pdf-drop-icon {
  display: grid;
  width: 76px;
  height: 86px;
  place-items: center;
  border: 1px solid #f0b8c1;
  border-radius: 7px;
  background: #fff;
  color: #e52d44;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(229, 45, 68, 0.10);
}

.pdf-drop-zone strong {
  font-size: 20px;
  color: #162d3b;
}

.pdf-drop-zone span,
.pdf-convert-status {
  color: var(--muted);
  font-size: 13px;
}

.pdf-convert-status {
  min-height: 20px;
}

.pdf-tool-result {
  display: grid;
  gap: 14px;
}

.pdf-tool-result.hidden {
  display: none;
}

.pdf-result-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid #dce4e8;
  border-radius: 8px;
  background: #ffffff;
}

.pdf-result-toolbar > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.pdf-result-toolbar span {
  color: var(--muted);
  font-size: 13px;
}

.pdf-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}

.pdf-image-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dce4e8;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(45, 61, 74, 0.06);
}

.pdf-image-preview {
  display: grid;
  aspect-ratio: 3 / 4;
  place-items: center;
  overflow: hidden;
  border: 1px solid #edf1f4;
  border-radius: 6px;
  background: #f7f9fb;
}

.pdf-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pdf-image-card div:not(.pdf-image-preview) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pdf-image-card span {
  color: var(--muted);
  font-size: 12px;
}

.airclean-reason {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #fff0f2;
  color: var(--accent);
  font-weight: 700;
  font-size: 12px;
}

.youpin-warnings {
  padding: 12px 15px;
  color: #9b2638;
  border: 1px solid #f0b9c2;
  border-radius: 7px;
  background: #fff1f3;
}

.youpin-warnings p {
  margin: 3px 0;
}

.youpin-preview-head {
  justify-content: space-between;
  margin-top: 4px;
}

.youpin-tabs {
  gap: 4px;
  padding: 4px;
  border: 1px solid #dbe3e8;
  border-radius: 7px;
  background: #eef2f5;
}

.youpin-tabs button {
  min-height: 32px;
  padding: 6px 12px;
  color: #526871;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.youpin-tabs button:hover {
  color: var(--ink);
  background: #ffffff;
  box-shadow: none;
}

.youpin-tabs button.active {
  color: #ffffff;
  background: var(--accent);
}

.youpin-preview-table {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: min(430px, calc(100vh - 390px));
  min-height: 280px;
  max-height: 430px;
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.youpin-preview-table table {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

.youpin-preview-table td,
.youpin-preview-table th {
  min-width: 120px;
  white-space: nowrap;
}

.youpin-preview-table .youpin-total-row td {
  color: #9b2638;
  background: #fff0f2;
  font-weight: 800;
}

.youpin-preview-table .youpin-unmatched-row td {
  background: #fff0f2;
  box-shadow: inset 0 1px 0 #f0b9c2, inset 0 -1px 0 #f0b9c2;
}

.youpin-preview-table .youpin-unmatched-row td:first-child {
  box-shadow: inset 3px 0 0 var(--accent), inset 0 1px 0 #f0b9c2, inset 0 -1px 0 #f0b9c2;
}

.youpin-manual-input {
  width: 108px;
  min-width: 0;
  padding: 6px 8px;
  color: #8e2335;
  border: 1px solid #df3f58;
  border-radius: 5px;
  background: #ffffff;
  font-weight: 800;
  text-align: right;
}

.youpin-manual-input:focus {
  border-color: var(--accent-dark);
  box-shadow: 0 0 0 3px rgba(223, 63, 88, 0.12);
}

.youpin-preview-note {
  position: sticky;
  left: 0;
  padding: 9px 12px;
  color: var(--muted);
  background: #f5f7f9;
}

.ai-shell {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.ai-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border: 1px solid #e1e7ec;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.ai-intro h3 {
  margin: 3px 0 6px;
  font-size: 24px;
}

.ai-intro p:last-child {
  margin: 0;
  color: var(--muted);
}

.ai-status {
  flex: 0 0 auto;
  padding: 7px 11px;
  color: #9b2638;
  border: 1px solid #f0b9c2;
  border-radius: 999px;
  background: #fff1f3;
  font-size: 12px;
  font-weight: 800;
}

.ai-status.offline {
  color: #687985;
  border-color: #d6e0e5;
  background: #f2f5f7;
}

.ai-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 16px;
}

.ai-chat-panel {
  display: grid;
  grid-template-rows: minmax(360px, calc(100vh - 390px)) auto;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.ai-messages {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  overflow: auto;
  background: #f7f8fa;
}

.ai-message {
  width: min(82%, 760px);
  padding: 12px 14px;
  border: 1px solid #dce5ea;
  border-radius: 8px;
  background: #fff;
}

.ai-message.user {
  align-self: flex-end;
  border-color: #f0b9c2;
  background: #fff1f3;
}

.ai-message p {
  margin: 6px 0 0;
  line-height: 1.75;
  white-space: pre-wrap;
}

.ai-message small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}

.ai-composer {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-top: 1px solid var(--line);
  background: #fff;
}

.ai-composer textarea {
  width: 100%;
  resize: vertical;
}

.ai-composer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 12px;
}

.ai-side {
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-self: start;
}

.ai-side h4 {
  margin: 0 0 6px;
}

.ai-side > button {
  color: #344955;
  border: 1px solid #dce5ea;
  background: #fff;
  box-shadow: none;
  text-align: left;
}

.ai-side > button:hover {
  color: var(--accent-dark);
  border-color: #f0b9c2;
  background: #fff1f3;
}

.ai-safety-note {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.codex-shell {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.codex-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid #e1e7ec;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: linear-gradient(110deg, #fff3f5 0%, #fff 54%, #f3f6f8 100%);
  box-shadow: var(--shadow-soft);
}

.codex-hero h3 {
  margin: 3px 0 6px;
  font-size: 24px;
}

.codex-hero p:last-child {
  margin: 0;
  color: var(--muted);
}

.codex-diagnostics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.codex-diagnostics article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #dfe6ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(39, 50, 58, .06);
}

.codex-diagnostics article.wide {
  grid-column: span 2;
}

.codex-diagnostics span,
.codex-task-card span,
.codex-rule-card span,
.codex-task-card small,
.codex-rule-card small {
  color: var(--muted);
  font-size: 12px;
}

.codex-diagnostics strong {
  color: #263842;
  font-size: 19px;
}

.codex-diagnostics ul {
  margin: 0;
  padding-left: 18px;
  color: #53656f;
  line-height: 1.8;
}

.codex-file-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.codex-file-list b {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border-radius: 6px;
  background: #f6f8fa;
  color: #2d3e48;
  font-size: 12px;
}

.codex-file-list em {
  overflow: hidden;
  color: var(--muted);
  font-style: normal;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.codex-grid {
  display: grid;
  grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr);
  gap: 16px;
  min-width: 0;
}

.codex-form,
.codex-list-panel,
.codex-rules-panel {
  min-width: 0;
}

.codex-form {
  display: grid;
  gap: 12px;
}

.codex-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.codex-form textarea,
.codex-rule-form textarea {
  width: 100%;
  resize: vertical;
}

.codex-list-panel {
  display: grid;
  grid-template-rows: auto minmax(320px, calc(100vh - 520px));
  gap: 12px;
}

.codex-task-list,
.codex-rule-list {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 0;
  overflow: auto;
  padding-right: 3px;
}

.codex-task-card,
.codex-rule-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #dfe6ea;
  border-radius: 8px;
  background: #fff;
}

.codex-card-head,
.codex-task-card footer,
.codex-rule-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.codex-card-head > div,
.codex-rule-card > div {
  display: grid;
  gap: 4px;
}

.codex-card-head b,
.codex-rule-card b {
  color: #263842;
  font-size: 16px;
}

.codex-task-card p,
.codex-rule-card p {
  margin: 0;
  color: #3e505a;
  line-height: 1.7;
  white-space: pre-wrap;
}

.codex-task-card i {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  font-style: normal;
  font-weight: 800;
  font-size: 12px;
}

.codex-pending {
  color: #7a4a11;
  background: #fff4df;
}

.codex-working {
  color: #8e2335;
  background: #fff0f3;
}

.codex-confirm {
  color: #4e5970;
  background: #eef2f6;
}

.codex-done {
  color: #5a3b66;
  background: #f5edfa;
}

.codex-cancel {
  color: #7d858b;
  background: #f0f2f3;
}

.codex-task-card footer > div,
.codex-rule-card footer > div {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.codex-task-card footer button,
.codex-rule-card footer button {
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid #dfe6ea;
  border-radius: 5px;
  background: #fff;
  color: #53656f;
  box-shadow: none;
  font-size: 12px;
}

.codex-task-card footer button:hover,
.codex-rule-card footer button:hover {
  color: var(--accent);
  border-color: #f0b9c2;
  background: #fff1f3;
}

.codex-workorder-panel {
  display: grid;
  gap: 12px;
  border-left: 4px solid var(--accent);
}

.codex-workorder-panel.hidden {
  display: none;
}

.codex-workorder-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

#codexWorkOrderContent {
  width: 100%;
  min-height: min(520px, calc(100vh - 310px));
  resize: vertical;
  border: 1px solid #dfe6ea;
  border-radius: 8px;
  background: #fbfcfd;
  color: #263842;
  font-family: Consolas, "Microsoft YaHei", monospace;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre;
}

.codex-rule-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.codex-rule-form .wide {
  grid-column: span 2;
}

.codex-rule-form button[type="submit"] {
  align-self: end;
}

.codex-rule-card em {
  color: var(--accent);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 1050px) {
  .ai-layout {
    grid-template-columns: 1fr;
  }

  .ai-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ai-side h4,
  .ai-safety-note {
    grid-column: 1 / -1;
  }

  .codex-diagnostics,
  .codex-grid,
  .codex-rule-form {
    grid-template-columns: 1fr;
  }

  .codex-diagnostics article.wide,
  .codex-rule-form .wide {
    grid-column: auto;
  }

  .office-pet {
    width: 100px;
    height: 126px;
  }

  .office-pet-body {
    width: 96px;
    height: 110px;
  }
}

.ai-floating {
  position: fixed;
  right: 24px;
  bottom: 22px;
  z-index: 1200;
  pointer-events: none;
}

.office-pet {
  --pet-x: max(270px, 18vw);
  --pet-y: calc(100vh - 180px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1180;
  width: 126px;
  height: 150px;
  transform: translate3d(var(--pet-x), var(--pet-y), 0);
  transition: transform 5s cubic-bezier(.4, .05, .18, 1);
  perspective: 700px;
  pointer-events: none;
  will-change: transform;
}

.office-pet.moving {
  transition-timing-function: linear;
}

.office-pet.assistant-open {
  opacity: 0;
  pointer-events: none;
}

.office-pet-body {
  position: absolute;
  inset: 14px 4px 0;
  width: 118px;
  height: 132px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: auto;
  transform-style: preserve-3d;
  animation: office-pet-breathe 3.4s ease-in-out infinite;
}

.office-pet-body:hover {
  background: transparent;
  box-shadow: none;
  transform: translateY(-4px) rotateY(-5deg);
}

.office-pet-body img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 9px 8px rgba(70, 42, 24, .2));
  transition: transform .25s ease, filter .25s ease;
  user-select: none;
  -webkit-user-drag: none;
}

.office-pet.facing-left .office-pet-body img {
  transform: scaleX(-1);
}

.office-pet.moving .office-pet-body {
  animation: office-pet-run .46s ease-in-out infinite alternate;
}

.office-pet-shadow {
  position: absolute;
  left: 22px;
  right: 18px;
  bottom: 7px;
  z-index: 1;
  height: 15px;
  border-radius: 50%;
  background: rgba(63, 38, 23, .16);
  filter: blur(7px);
  transform: translateZ(-10px) rotateX(68deg);
}

.office-pet-bubble {
  position: absolute;
  left: 86px;
  bottom: 125px;
  width: max-content;
  max-width: 190px;
  padding: 8px 11px;
  border: 1px solid #f1ccd2;
  border-radius: 10px 10px 10px 3px;
  background: rgba(255, 255, 255, .97);
  color: #3c454b;
  box-shadow: 0 8px 22px rgba(45, 54, 59, .12);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(8px) scale(.96);
  transition: opacity .22s ease, transform .22s ease;
}

.office-pet.speaking .office-pet-bubble {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.office-pet.bubble-left .office-pet-bubble {
  right: 88px;
  left: auto;
  border-radius: 10px 10px 3px;
}

.office-pet-menu-toggle {
  position: absolute;
  top: 6px;
  right: 0;
  z-index: 4;
  width: 31px;
  height: 24px;
  padding: 0 0 7px;
  border: 1px solid #e5d9d1;
  border-radius: 999px;
  background: rgba(255, 255, 255, .95);
  color: #8a5b3d;
  box-shadow: 0 5px 14px rgba(55, 43, 35, .12);
  font-size: 14px;
  line-height: 1;
  opacity: 0;
  pointer-events: auto;
  transition: opacity .2s ease;
}

.office-pet:hover .office-pet-menu-toggle,
.office-pet-menu-toggle:focus {
  opacity: 1;
}

.office-pet-menu {
  position: absolute;
  top: 31px;
  right: -4px;
  z-index: 6;
  display: grid;
  width: 112px;
  padding: 8px;
  border: 1px solid #e5dfe0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(35, 45, 51, .16);
  pointer-events: auto;
}

.office-pet.menu-up .office-pet-menu {
  top: auto;
  bottom: 118px;
}

.office-pet-menu strong {
  padding: 3px 6px 7px;
  color: #283b45;
  font-size: 12px;
}

.office-pet-menu button {
  padding: 7px 8px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #52636c;
  box-shadow: none;
  text-align: left;
}

.office-pet-menu button:hover,
.office-pet-menu button.active {
  background: #fff0f3;
  color: #dc3652;
}

.office-pet-restore {
  display: none;
}

.office-pet.minimized {
  --pet-x: calc(100vw - 52px) !important;
  --pet-y: calc(100vh - 180px) !important;
  width: 44px;
  height: 58px;
}

.office-pet.minimized .office-pet-body,
.office-pet.minimized .office-pet-menu-toggle,
.office-pet.minimized .office-pet-bubble {
  display: none;
}

.office-pet.minimized .office-pet-restore {
  display: grid;
  place-items: center;
  width: 42px;
  height: 52px;
  padding: 0;
  border: 1px solid #f0c5cd;
  border-right: 0;
  border-radius: 18px 0 0 18px;
  background: #fff;
  color: #e23b57;
  box-shadow: 0 9px 24px rgba(47, 55, 60, .14);
  font-size: 20px;
  pointer-events: auto;
}

@keyframes office-pet-breathe {
  0%, 100% { transform: translateY(0) rotateY(0); }
  50% { transform: translateY(-3px) rotateY(3deg); }
}

@keyframes office-pet-run {
  from { transform: translateY(0) rotate(-1deg); }
  to { transform: translateY(-7px) rotate(2deg); }
}

.product-center-view {
  display: grid;
  grid-template-rows: auto minmax(640px, calc(100vh - 188px));
  gap: 10px;
  min-width: 0;
}

.product-center-view.hidden {
  display: none;
}

.product-center-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid #dfe6ea;
  border-radius: 7px;
  background: #fff;
}

.product-center-toolbar p {
  margin: 0 0 3px;
}

.product-center-toolbar strong {
  font-size: 17px;
}

#productCenterFrame {
  width: 100%;
  height: 100%;
  min-width: 0;
  border: 1px solid #dfe6ea;
  border-radius: 7px;
  background: #f5f7f9;
}

.product-center-v2-view {
  min-height: calc(100vh - 110px);
  color: #17233a;
}

.new-product-v2-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

.new-product-v2-main {
  min-width: 0;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  background: #fff;
}

.new-product-v2-main {
  padding: 20px 22px 24px;
  box-shadow: 0 12px 34px rgba(24, 39, 75, .045);
}

.new-product-v2-project-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e8eef5;
}

.new-product-v2-project-head h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 3px 0 7px;
  color: #17233a;
  font-size: 25px;
  letter-spacing: 0;
}

.new-product-v2-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.new-product-v2-switcher > button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 28px;
  min-height: 28px;
  min-width: 0;
  padding: 0 9px;
  border: 1px solid #d5dfeb;
  border-radius: 6px;
  background: #fff;
  color: #4b6078;
  box-shadow: none;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
}

.new-product-v2-switcher > button:hover,
.new-product-v2-switcher > button[aria-expanded="true"] {
  border-color: #9ebdea;
  background: #f4f8ff;
  color: #2d5d9f;
}

.new-product-v2-switcher > button b {
  font-size: 14px;
  line-height: 1;
}

.new-product-v2-switch-menu {
  position: absolute;
  top: 36px;
  left: 0;
  z-index: 20;
  display: grid;
  gap: 4px;
  width: min(420px, calc(100vw - 260px));
  max-height: 310px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #dce7f4;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(24, 39, 75, .16);
}

.new-product-v2-switch-menu button {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #1e2d42;
  text-align: left;
  box-shadow: none;
}

.new-product-v2-switch-menu button:hover,
.new-product-v2-switch-menu button.active {
  border-color: #d9e6f6;
  background: #f5f9ff;
}

.new-product-v2-switch-menu button span {
  color: #6b7a90;
  font-size: 12px;
  font-weight: 700;
}

.new-product-v2-project-head p {
  margin: 0;
  color: #596a82;
  line-height: 1.7;
}

.new-product-v2-project-head aside {
  min-width: 140px;
  padding-top: 4px;
  text-align: right;
}

.new-product-v2-project-head aside span,
.new-product-v2-project-head aside em {
  display: block;
  color: #607086;
  font-style: normal;
}

.new-product-v2-project-head aside strong {
  display: block;
  margin: 7px 0;
  color: #5a6780;
  font-size: 30px;
}

.new-product-v2-stage-rail {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 13px 0;
  border-bottom: 1px solid #e8eef5;
}

.new-product-v2-stage-rail button {
  display: grid;
  grid-template-columns: 24px minmax(96px, 1fr);
  grid-template-rows: auto auto auto;
  column-gap: 7px;
  flex: 0 0 158px;
  min-height: 66px;
  padding: 9px;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  background: #fff;
  color: #26364d;
  text-align: left;
  box-shadow: none;
}

.new-product-v2-stage-rail button span {
  grid-row: 1 / 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #eef3f8;
  color: #65758c;
  font-weight: 900;
}

.new-product-v2-stage-rail button strong,
.new-product-v2-stage-rail button em,
.new-product-v2-stage-rail button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.new-product-v2-stage-rail button em,
.new-product-v2-stage-rail button small {
  color: #6f7f94;
  font-style: normal;
  font-size: 12px;
}

.new-product-v2-stage-rail button.selected {
  border-color: #89afe8;
  background: #f4f8ff;
}

.new-product-v2-stage-rail button.done span {
  background: #5da37d;
  color: #fff;
}

.new-product-v2-stage-rail button.active span,
.new-product-v2-stage-rail button.selected span {
  background: #4d75bd;
  color: #fff;
}

.new-product-v2-stage {
  display: grid;
  gap: 0;
  padding-top: 0;
}

.new-product-v2-stage-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid #e8eef5;
}

.new-product-v2-stage-head h3 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin: 3px 0 12px;
  color: #17233a;
  font-size: 22px;
  letter-spacing: 0;
}

.new-product-v2-stage-head h3 small {
  padding: 5px 10px;
  border-radius: 999px;
  background: #f5f8fc;
  color: #49627f;
  font-size: 12px;
  font-weight: 800;
}

.new-product-v2-stage-head p {
  margin: 0 0 7px;
  color: #53657d;
  line-height: 1.6;
}

.new-product-v2-stage-head aside {
  display: grid;
  gap: 10px;
  justify-items: stretch;
  text-align: center;
}

.new-product-v2-score {
  display: grid;
  gap: 7px;
  padding: 12px 10px;
  border: 1px solid #e2ebf5;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-v2-score span {
  color: #607086;
  font-weight: 700;
}

.new-product-v2-score strong {
  color: #536176;
  font-size: 32px;
  line-height: 1;
}

.new-product-v2-actions {
  display: grid;
  gap: 8px;
}

.new-product-v2-action-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.new-product-v2-actions button {
  height: 34px;
  border-radius: 7px;
  padding: 0 10px;
  white-space: nowrap;
}

.new-product-v2-actions .danger.ghost {
  border-color: #ffd0d5;
  background: #fff7f8;
  color: #c92236;
}

.new-product-v2-actions .danger.ghost:hover {
  border-color: #f3aab3;
  background: #fff1f3;
}

.new-product-v2-actions .rollback,
.new-product-stage-actions .rollback {
  border-color: #f3c36b;
  background: #fff8e8;
  color: #9a5a00;
  font-weight: 700;
}

.new-product-v2-actions .rollback:hover,
.new-product-stage-actions .rollback:hover {
  border-color: #dfa43a;
  background: #fff1cf;
}

.new-product-ai-status {
  min-height: 36px;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid #e2ebf5;
  border-radius: 7px;
  background: #fbfdff;
  color: #6b7a90;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
}

.new-product-ai-status.running {
  display: flex;
  align-items: center;
  gap: 8px;
}

.new-product-ai-status:empty {
  display: none;
}

.new-product-ai-status.running {
  border-color: #b8cff3;
  background: #f3f8ff;
  color: #2d5d9f;
}

.new-product-ai-status.error {
  border-color: #f0c0c7;
  background: #fff5f6;
  color: #c82e45;
}

.new-product-v2-actions button.loading,
.new-product-v2-actions button.loading:hover {
  border-color: #2f6ee8;
  background: #2f6ee8;
  color: #fff;
  cursor: wait;
  box-shadow: 0 10px 22px rgba(47, 110, 232, 0.18);
}

.new-product-v2-actions button.loading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.new-product-back-top {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 76px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid #9fbbea;
  border-radius: 8px;
  background: #ffffff;
  color: #2456a6;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(35, 74, 130, 0.18);
}

.new-product-back-top:hover {
  border-color: #2f6ee8;
  background: #f4f8ff;
}

.new-product-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(47, 110, 232, 0.18);
  border-top-color: #2f6ee8;
  border-radius: 50%;
  animation: newProductSpin 0.8s linear infinite;
  flex: 0 0 auto;
}

.new-product-spinner.small {
  width: 14px;
  height: 14px;
  border-width: 2px;
}

button.loading .new-product-spinner {
  border-color: rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
}

.new-product-ai-overlay {
  position: fixed;
  right: 26px;
  top: 76px;
  z-index: 9999;
  display: none;
  align-items: center;
  gap: 12px;
  min-width: 280px;
  max-width: min(420px, calc(100vw - 52px));
  padding: 13px 15px;
  border: 1px solid #bfd3f5;
  border-radius: 8px;
  background: rgba(248, 251, 255, 0.98);
  color: #21324a;
  box-shadow: 0 16px 36px rgba(42, 77, 123, 0.18);
}

.new-product-ai-overlay.show {
  display: flex;
}

.new-product-ai-overlay strong {
  display: block;
  margin-bottom: 2px;
  color: #17345f;
  font-size: 14px;
}

.new-product-ai-overlay p {
  margin: 0;
  color: #596f8e;
  font-size: 12px;
  line-height: 1.45;
}

@keyframes newProductSpin {
  to {
    transform: rotate(360deg);
  }
}

.new-product-v2-section {
  display: grid;
  gap: 12px;
  padding: 18px 0;
  border-bottom: 1px solid #edf2f7;
}

.new-product-v2-section h4 {
  margin: 0;
  color: #17233a;
  font-size: 18px;
}

.new-product-v2-source-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr);
  gap: 12px;
  align-items: stretch;
}

.new-product-v2-source-grid.upload-only {
  grid-template-columns: minmax(300px, 520px);
}

.new-product-v2-source-grid label {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 8px;
  min-height: 132px;
  padding: 0;
  color: #31435c;
  font-weight: 800;
}

.new-product-v2-upload {
  padding: 0;
}

.new-product-v2-source-grid textarea,
.new-product-v2-source-grid input {
  width: 100%;
  border: 1px solid #d3dfec;
  border-radius: 7px;
  background: #fbfdff;
  color: #17233a;
  box-shadow: none;
}

.new-product-v2-source-grid textarea {
  min-height: 92px;
  height: 100%;
  padding: 10px 12px;
  resize: vertical;
}

.new-product-v2-source-grid input {
  align-self: stretch;
  min-height: 92px;
  padding: 9px 10px;
}

.new-product-v2-source-grid small {
  color: #76869b;
}

.new-product-v2-file-box {
  display: grid;
  gap: 8px;
  min-height: 118px;
  max-height: 158px;
  padding: 10px;
  border: 1px solid #dbe6f2;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-v2-file-box header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #31435c;
}

.new-product-v2-file-box header span {
  color: #76869b;
  font-size: 12px;
  font-weight: 800;
}

.new-product-v2-files {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
  overflow: auto;
  align-content: start;
}

.new-product-v2-files span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 7px 8px;
  border-radius: 6px;
  background: #f5f7fa;
  color: #334257;
}

.new-product-v2-files em {
  color: #7a8798;
  font-style: normal;
}

.new-product-v2-report {
  display: grid;
  gap: 14px;
  padding: 18px 18px 20px;
  border: 1px solid #e0e8f2;
  border-radius: 8px;
  background: #fff;
}

.new-product-v2-report h3 {
  margin: 0;
  color: #162238;
  font-size: 22px;
  letter-spacing: 0;
}

.new-product-report-conclusion {
  padding: 12px 14px;
  border-left: 4px solid #2f6fe4;
  background: #f6f9fd;
  color: #283a52;
  line-height: 1.7;
}

.new-product-report-conclusion b {
  color: #152033;
}

.new-product-report-subsection,
.new-product-report-total {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}

.new-product-report-subsection h6,
.new-product-report-total h6 {
  margin: 0;
  color: #17233a;
  font-size: 16px;
}

.new-product-report-subsection p,
.new-product-report-total p {
  margin: 0;
  color: #40536c;
  line-height: 1.85;
}

.new-product-report-subsection p + p,
.new-product-report-total p + p {
  margin-top: 8px;
}

.new-product-report-subsection p strong,
.new-product-report-total p strong,
.new-product-section-text p strong {
  color: #17233a;
  font-weight: 900;
}

.new-product-section-text {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border-left: 3px solid #2f6fe4;
  background: #f7faff;
  color: #344760;
}

.new-product-section-text p {
  margin: 0;
  line-height: 1.86;
}

.new-product-report-total {
  padding: 12px 14px;
  border-top: 1px solid #e8eef5;
  background: #fbfdff;
}

.new-product-v2-report .new-product-result-block {
  padding: 0;
  border: 0;
  background: transparent;
}

.new-product-v2-report .new-product-result-head {
  margin-bottom: 8px;
}

.new-product-line-chart {
  width: 100%;
  margin: 12px 0 14px;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  overflow: hidden;
}

.new-product-chart-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px 0;
}

.new-product-chart-title strong {
  color: #142136;
  font-size: 14px;
}

.new-product-chart-title span {
  color: #7a8aa0;
  font-size: 12px;
}

.new-product-chart-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 8px 14px 0;
}

.new-product-chart-summary span {
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid #e6eef8;
  border-radius: 7px;
  background: #f8fbff;
  color: #52657d;
  font-size: 12px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.new-product-chart-summary b {
  margin-right: 6px;
  color: #1d2b42;
}

.new-product-metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 14px;
}

.new-product-metric-strip span {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #e6eef8;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  color: #52657d;
  font-size: 12px;
  line-height: 1.45;
}

.new-product-metric-strip b {
  display: block;
  margin-bottom: 3px;
  color: #17345f;
  font-size: 12px;
}

.new-product-line-chart svg {
  display: block;
  width: 100%;
  height: 200px;
}

.new-product-line-chart .chart-bg {
  fill: #fbfdff !important;
  stroke: none !important;
}

.new-product-line-chart .chart-grid {
  fill: none !important;
  stroke: #dfe8f2 !important;
  stroke-width: 1 !important;
}

.new-product-line-chart .chart-area {
  fill: rgba(47, 111, 228, .06) !important;
  stroke: none !important;
}

.new-product-line-chart .chart-line {
  fill: none !important;
  stroke: #2f6fe4 !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.new-product-line-chart .chart-point {
  fill: #fff !important;
  stroke: #2f6fe4 !important;
  stroke-width: 2 !important;
}

.new-product-line-chart .chart-point.peak {
  stroke: #059669 !important;
  fill: #ecfdf5 !important;
}

.new-product-line-chart .chart-point.low {
  stroke: #f97316 !important;
  fill: #fff7ed !important;
}

.new-product-line-chart .chart-point.latest {
  stroke: #2563eb !important;
  fill: #eff6ff !important;
}

.new-product-line-chart text {
  fill: #607086 !important;
  stroke: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.new-product-line-chart .chart-value-label {
  fill: #1e4fb8 !important;
  font-size: 12px !important;
}

.new-product-line-chart .chart-value-label.low {
  fill: #c2410c !important;
}

.new-product-bar-chart {
  display: grid;
  gap: 8px;
  margin: 12px 0 14px;
  padding: 12px;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-bar-chart > div {
  display: grid;
  grid-template-columns: minmax(120px, 220px) minmax(160px, 1fr) minmax(120px, 240px);
  align-items: center;
  gap: 10px;
}

.new-product-bar-chart span,
.new-product-bar-chart em {
  min-width: 0;
  overflow: hidden;
  color: #52657d;
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.new-product-bar-chart b {
  display: block;
  height: 9px;
  min-width: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #4f8df7, #7eb6ff);
}

.new-product-chart-empty {
  margin: 12px 0 14px;
  padding: 18px;
  border: 1px dashed #ccd9e8;
  border-radius: 8px;
  background: #fbfdff;
  color: #7a8aa0;
  text-align: center;
}

.new-product-ai-candidates {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid #dfe8f2;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-ai-candidates > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.new-product-ai-candidates > header h5 {
  margin: 2px 0 0;
  color: #17233a;
  font-size: 18px;
}

.new-product-ai-candidates > header span {
  color: #6d7d92;
  font-size: 12px;
  font-weight: 800;
}

.new-product-ai-candidate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.new-product-ai-candidate-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.new-product-ai-candidate {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e0e8f2;
  border-radius: 8px;
  background: #fff;
}

.new-product-ai-candidate.selected {
  border-color: #8ab7ef;
  box-shadow: inset 3px 0 0 #2f6fe4;
}

.new-product-ai-candidate-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.new-product-ai-candidate-head div {
  display: grid;
  gap: 3px;
}

.new-product-ai-candidate-head strong {
  color: #17233a;
}

.new-product-ai-candidate-head span {
  color: #708098;
  font-size: 12px;
}

.new-product-ai-candidate-head button {
  flex: 0 0 auto;
  min-width: 94px;
  height: 34px;
}

.new-product-ai-candidate .new-product-v2-report {
  min-width: 0;
  height: 100%;
  padding: 14px;
}

.new-product-ai-candidates.single .new-product-ai-candidate .new-product-v2-report {
  padding: 18px 22px;
}

.new-product-ai-candidates.single .new-product-ai-candidate {
  max-width: none;
}

.new-product-ai-candidate .new-product-v2-report h3 {
  font-size: 18px;
}

.new-product-ai-candidate .new-product-report-conclusion,
.new-product-ai-candidate .new-product-report-total {
  padding: 10px 12px;
}

.new-product-ai-candidate .new-product-report-subsection p,
.new-product-ai-candidate .new-product-report-total p {
  line-height: 1.75;
}

.new-product-ai-candidate-errors {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border: 1px solid #f0c0c7;
  border-radius: 7px;
  background: #fff5f6;
  color: #c82e45;
}

.new-product-ai-candidate-errors p {
  margin: 0;
}

.new-product-v2-files span b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e6eef8;
  color: #49627f;
  font-size: 11px;
}

.new-product-v2-files span small,
.new-product-v2-files span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .new-product-v2-shell,
  .new-product-v2-stage-head,
  .new-product-v2-source-grid,
  .new-product-v2-source-grid.upload-only,
  .new-product-ai-candidate-grid,
  .new-product-v2-files {
    grid-template-columns: 1fr;
  }
}

.new-product-workbench {
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 10px;
}

.new-product-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 4px 14px;
  border: 0;
  border-bottom: 1px solid #e6edf3;
  border-radius: 0;
  background: transparent;
}

.new-product-hero h3 {
  margin: 3px 0 6px;
  font-size: 22px;
}

.new-product-hero p {
  margin: 0;
  color: #5d6b82;
}

.new-product-hero-actions,
.new-product-stage-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.new-product-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid #edf1f5;
  border-radius: 7px;
  background: #fff;
}

.new-product-tabs button {
  min-width: 96px;
  border: 0;
  background: transparent;
  color: #263449;
}

.new-product-tabs button.active {
  background: #f4f7fb;
  color: #1f3554;
  box-shadow: inset 0 -2px 0 #5f7fb7;
}

.new-product-create.hidden {
  display: none;
}

.new-product-create-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 72px 24px 24px;
  background: rgba(15, 23, 42, .14);
  backdrop-filter: blur(1px);
  overflow: auto;
}

.new-product-create-modal.hidden {
  display: none !important;
}

.new-product-create-modal .new-product-create {
  width: min(1080px, 100%);
  margin: 0;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .14);
}

.new-product-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
}

.new-product-form label,
.new-product-stage-form label {
  display: grid;
  gap: 6px;
  color: #53657c;
  font-weight: 700;
}

.new-product-form input,
.new-product-form select,
.new-product-stage-form input,
.new-product-stage-form textarea {
  width: 100%;
  border: 1px solid #cfddeb;
  border-radius: 7px;
  padding: 10px 12px;
  background: #fbfdff;
  color: #182235;
  min-height: 42px;
}

.new-product-people-field {
  position: relative;
}

.new-product-people-picker {
  position: relative;
  display: grid;
  gap: 0;
}

.new-product-people-menu {
  position: absolute;
  z-index: 5;
  top: 42px;
  left: 0;
  right: 0;
  width: auto;
  max-height: 220px;
  overflow: auto;
  padding: 6px;
  border: 1px solid #d7e2ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
}

.new-product-people-menu.hidden {
  display: none;
}

.new-product-people-menu button {
  display: grid;
  gap: 2px;
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  text-align: left;
  color: #223149;
  box-shadow: none;
}

.new-product-people-menu button:hover,
.new-product-people-menu button.selected {
  background: #f3f7fb;
}

.new-product-people-menu button.selected span::after {
  content: "已选";
  margin-left: 8px;
  color: #2f6fd6;
  font-size: 12px;
  font-weight: 800;
}

.new-product-people-menu small,
.new-product-people-menu p {
  margin: 0;
  color: #748196;
  font-size: 12px;
}

.new-product-form button {
  align-self: end;
  width: fit-content;
  min-width: 150px;
  padding-inline: 20px;
}

@media (max-width: 780px) {
  .new-product-form {
    grid-template-columns: 1fr;
  }
  #newProductCreateForm > button[type="submit"] {
    justify-self: stretch;
    width: 100%;
  }
}

.new-product-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 12px;
  min-height: 680px;
}

.new-product-list-panel,
.new-product-detail-panel {
  min-width: 0;
  border-color: #edf1f5;
  box-shadow: none;
}

.new-product-project-list {
  display: grid;
  gap: 10px;
}

.new-product-project {
  display: grid;
  gap: 5px;
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 10px 12px;
  background: #f8fafc;
  color: #1e2b3e;
}

.new-product-project * {
  color: inherit;
}

.new-product-project.active {
  border-color: #dce8f8;
  background: #fff;
  box-shadow: 0 8px 22px rgba(30, 54, 82, .06);
}

.new-product-project span,
.new-product-project em {
  color: #66758a;
  font-style: normal;
}

.new-product-project b {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f2f5f8;
  color: #526277;
  font-size: 12px;
}

.new-product-project i {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-style: normal;
}

.new-product-project small {
  color: #9b4d5b;
  font-weight: 700;
}

.new-product-detail-empty,
.empty-hint {
  color: #6b7890;
  padding: 24px;
}

.new-product-project-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0 12px;
  border-bottom: 1px solid #edf1f5;
}

/* v428: new product macro stage title/meta and one-line supplement upload row. */
.new-product-stage-title-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.new-product-stage-title-line > span {
  margin-right: 6px;
}

.new-product-stage-title-line small {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border: 1px solid #d8e4f3;
  border-radius: 999px;
  background: #f7fbff;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.new-product-stage-title-line small b {
  color: #1e3555;
}

.new-product-stage-form > div:not(.new-product-macro-input-row):not(.new-product-stage-actions) {
  display: contents;
}

.new-product-macro-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr);
  gap: 12px;
  align-items: stretch;
}

.new-product-macro-input-row label {
  grid-column: auto !important;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-macro-input-row textarea {
  min-height: 78px !important;
}

.new-product-macro-input-row input[type="file"] {
  min-height: 78px;
  padding: 10px;
}

.new-product-macro-stage .new-product-template-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.new-product-macro-stage .new-product-template-grid article {
  min-height: 74px;
}

.new-product-macro-result {
  display: block;
  padding: 16px 18px;
  border-color: #e7edf5;
  background: #fff !important;
}

.new-product-macro-result section {
  margin-top: 18px;
}

.new-product-macro-result h5 {
  margin: 0 0 10px;
  color: #1e2f48;
  font-size: 17px;
}

.new-product-macro-result p {
  margin: 0 0 12px;
  color: #334155;
  font-size: 15px;
  line-height: 1.85;
}

.new-product-sources {
  padding-top: 10px;
  border-top: 1px solid #e8eef6;
}

@media (max-width: 900px) {
  .new-product-macro-input-row {
    grid-template-columns: 1fr;
  }

  .new-product-macro-stage .new-product-template-grid,
  .new-product-stage-brief {
    grid-template-columns: 1fr;
  }
}

.new-product-project-head h3 {
  margin: 3px 0 6px;
  font-size: 22px;
}

.new-product-project-head p {
  margin: 0;
  color: #627189;
}

.new-product-decision {
  display: grid;
  gap: 4px;
  min-width: 150px;
  text-align: right;
}

.new-product-delete-btn {
  justify-self: end;
  width: fit-content;
  padding: 5px 10px;
  border: 1px solid #ead6da;
  background: #fff;
  color: #a33d50;
  font-weight: 800;
}

.new-product-decision strong {
  font-size: 28px;
}

.new-product-decision em {
  font-style: normal;
  color: #2455aa;
  font-weight: 800;
}

.new-product-stage-rail {
  display: flex;
  gap: 6px;
  margin: 12px 0;
  overflow-x: auto;
  padding-bottom: 4px;
}

.new-product-stage-rail button {
  flex: 0 0 164px;
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 5px;
  min-height: 68px;
  padding: 7px 8px;
  text-align: left;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fafbfd;
  color: #27354a;
}

.new-product-stage-rail button * {
  color: inherit !important;
  text-shadow: none !important;
}

.new-product-stage-rail button span {
  grid-row: span 3;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #eef2f6;
  color: #6b7890;
  font-weight: 800;
  font-size: 12px;
}

.new-product-stage-rail button strong {
  font-size: 13px;
  color: #27354a !important;
}

.new-product-stage-rail button em {
  color: #617087 !important;
  font-style: normal;
  font-size: 12px;
}

.new-product-stage-rail button small {
  display: block;
  overflow: hidden;
  color: #7a8798 !important;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.new-product-stage-rail button.active span,
.new-product-stage-rail button.selected span {
  background: #5b7fd6;
  color: #fff !important;
}

.new-product-stage-rail button.done span {
  background: #62a87c;
  color: #fff !important;
}

.new-product-stage-rail button.selected {
  border-color: #cbd9f1;
  background: #fff;
  box-shadow: 0 6px 18px rgba(28, 52, 82, .06);
}

.new-product-stage-rail button.pending {
  opacity: 1;
  background: #fbfcfd;
}

.new-product-stage-rail button.pending strong {
  color: #55647a !important;
}

.new-product-stage-detail {
  display: grid;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
}

.new-product-stage-decision-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.new-product-stage-decision-meta span {
  padding: 6px 10px;
  border: 1px solid #e2eaf3;
  border-radius: 999px;
  background: #fbfdff;
  color: #617087;
  font-size: 12px;
}

.new-product-stage-decision-meta b {
  color: #243248;
}

.new-product-stage-score {
  min-width: 122px;
  padding: 8px 10px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fafbfd;
  text-align: center;
}

.new-product-stage-score span {
  display: block;
  color: #65758c;
}

.new-product-stage-score strong {
  display: block;
  font-size: 27px;
}

.new-product-requirements {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.new-product-requirements span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #f4f6f8;
  color: #526277;
  font-size: 12px;
}

.new-product-stage-brief {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, .9fr);
  gap: 10px;
  align-items: center;
}

.new-product-stage-brief section {
  padding: 10px 12px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fcfdfe;
}

.new-product-stage-brief b {
  display: block;
  margin-bottom: 5px;
  color: #253247;
}

.new-product-stage-brief p {
  margin: 0;
  color: #647287;
  line-height: 1.55;
}

.new-product-stage-actions-inline {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 410px;
}

.new-product-stage-actions-inline button,
#productCenterView .new-product-stage-actions-inline button {
  width: auto !important;
  min-width: 96px !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 7px !important;
  font-size: 14px !important;
  white-space: nowrap;
}

.new-product-template {
  padding: 12px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fff;
}

.new-product-template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.new-product-template-grid article {
  min-height: 82px;
  padding: 10px 12px;
  border: 1px dashed #d8e0e8;
  border-radius: 7px;
  background: #fbfcfe;
}

.new-product-template-grid b {
  display: block;
  margin-bottom: 6px;
  color: #233149;
}

.new-product-template-grid p {
  margin: 0;
  color: #6c798b;
  line-height: 1.55;
}

.new-product-stage-form {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fff;
}

.new-product-stage-form .wide {
  grid-column: 1 / -1;
}

.new-product-upload-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.new-product-upload-list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 260px;
  padding: 6px 9px;
  border-radius: 7px;
  background: #f4f6f8;
  color: #334257;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.new-product-upload-list small {
  color: #7b8798;
}

.new-product-review-targets {
  border: 1px solid rgba(141, 168, 199, 0.32);
  border-radius: 14px;
  padding: 16px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
  margin-bottom: 16px;
}

.new-product-review-targets .record-header {
  margin-bottom: 12px;
}

.new-product-review-targets .record-header p:last-child {
  margin: 4px 0 0;
  color: #5f7191;
}

.new-product-review-targets table th,
.new-product-review-targets table td {
  text-align: center;
  vertical-align: middle;
}

.new-product-review-targets table td.left {
  text-align: left;
  font-weight: 700;
  color: #17243b;
}

.new-product-upload-content-panel {
  border: 1px solid rgba(141, 168, 199, 0.32);
  border-radius: 14px;
  padding: 16px;
  background: #ffffff;
  margin-bottom: 16px;
}

.new-product-upload-content-panel .record-header {
  margin-bottom: 12px;
}

.new-product-upload-content-panel .record-header p:last-child {
  margin: 4px 0 0;
  color: #5f7191;
}

.new-product-upload-content-card {
  border: 1px solid #e5edf7;
  border-radius: 12px;
  background: #f8fbff;
  margin-top: 10px;
  overflow: hidden;
}

.new-product-upload-content-card header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #eef4fb;
  color: #18263b;
}

.new-product-upload-content-card header span {
  color: #607089;
  white-space: nowrap;
}

.new-product-upload-content-card div {
  max-height: 680px;
  overflow: auto;
  padding: 10px 12px;
}

.new-product-upload-content-card h5 {
  margin: 14px 0 8px;
  color: #163159;
  font-size: 14px;
}

.new-product-upload-content-card p {
  margin: 0 0 6px;
  color: #31415b;
  line-height: 1.65;
}

.new-product-upload-table-wrap {
  margin: 8px 0 14px;
  overflow: auto;
  border: 1px solid #dce7f5;
  border-radius: 10px;
}

.new-product-upload-table {
  min-width: 920px;
}

.new-product-upload-table th,
.new-product-upload-table td {
  text-align: left;
  vertical-align: top;
  white-space: normal;
  min-width: 120px;
}

.new-product-v2-data-sync {
  background: linear-gradient(135deg, #eef8ff, #f7fbff);
  border-color: #bfdbfe;
}

.new-product-v2-data-sync strong {
  color: #1d4ed8;
}

.new-product-ai-result {
  display: grid;
  gap: 12px;
  padding: 12px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fff;
}

.new-product-summary {
  margin: 0;
  color: #263449;
  line-height: 1.7;
}

.new-product-written-result {
  padding: 4px 0 10px;
  border-bottom: 1px solid #eef3f8;
}

.new-product-written-result h5 {
  margin: 0 0 8px;
  color: #142136;
  font-size: 15px;
}

.new-product-written-result p {
  margin: 0 0 8px;
  color: #2d3b51;
  line-height: 1.75;
}

.new-product-written-result.clean {
  padding: 0;
  border: 0;
}

#productCenterView .new-product-sales-result {
  gap: 16px;
  border: 0;
  background: transparent;
  padding: 0;
}

#productCenterView .new-product-result-block {
  display: grid;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid #e8eef5;
}

#productCenterView .new-product-result-block.conclusion {
  padding-top: 8px;
  border-top: 0;
}

#productCenterView .new-product-result-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

#productCenterView .new-product-result-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eaf2ff;
  color: #2b63c6;
  font-size: 12px;
  font-weight: 900;
}

#productCenterView .new-product-result-head h5 {
  margin: 1px 0 4px;
  color: #142136;
  font-size: 16px;
}

#productCenterView .new-product-result-head p {
  margin: 0;
  color: #607086;
  line-height: 1.55;
}

#productCenterView .new-product-result-head strong {
  margin-left: auto;
  min-width: 74px;
  text-align: right;
  color: #2563eb;
  font-size: 30px;
  line-height: 1;
}

#productCenterView .new-product-line-chart {
  min-height: 0;
  padding: 10px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
}

#productCenterView .new-product-line-chart svg {
  display: block;
  width: 100%;
  height: 200px;
}

#productCenterView .new-product-line-chart .chart-grid {
  fill: none;
  stroke: #e2eaf3;
  stroke-width: 1;
}

#productCenterView .new-product-line-chart .chart-area {
  fill: rgba(37, 99, 235, .06);
}

#productCenterView .new-product-line-chart .chart-line {
  fill: none;
  stroke: #2563eb;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#productCenterView .new-product-line-chart circle {
  fill: #fff;
  stroke: #2563eb;
  stroke-width: 2;
}

#productCenterView .new-product-line-chart text {
  fill: #66758b;
  font-size: 11px;
}

#productCenterView .new-product-chart-empty {
  display: grid;
  min-height: 132px;
  place-items: center;
  border: 1px dashed #ccd9e8;
  border-radius: 8px;
  background: #fbfdff;
  color: #77869a;
  font-weight: 700;
}

#productCenterView .new-product-bar-chart {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
}

#productCenterView .new-product-bar-chart div {
  display: grid;
  grid-template-columns: 160px minmax(120px, 1fr) 120px;
  gap: 10px;
  align-items: center;
}

#productCenterView .new-product-bar-chart span,
#productCenterView .new-product-bar-chart em {
  overflow: hidden;
  color: #52647b;
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#productCenterView .new-product-bar-chart b {
  display: block;
  height: 9px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f97316, #ef4444);
}

#productCenterView .new-product-metric-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .new-product-metric-strip,
  #productCenterView .new-product-metric-strip,
  .new-product-chart-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .new-product-metric-strip,
  #productCenterView .new-product-metric-strip,
  .new-product-chart-summary {
    grid-template-columns: 1fr;
  }
}

.new-product-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.new-product-insight-grid section {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fcfdfe;
}

.new-product-stage-actions .primary {
  background: #315fba;
  box-shadow: none;
}

.new-product-stage-actions .success {
  background: #eef8f2;
  border: 1px solid #b8dfc7;
  color: #1f7043;
  box-shadow: none;
}

.new-product-insight-grid b {
  display: block;
  margin-bottom: 8px;
}

.new-product-insight-grid p {
  margin: 0 0 6px;
  color: #5d6b82;
  line-height: 1.5;
}

.new-product-ai-tables {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
}

.new-product-ai-tables h5 {
  margin: 0 0 8px;
}

.new-product-manual-subsection {
  gap: 12px;
  padding: 12px 0 4px;
  border-top: 1px solid #edf2f7;
}

.new-product-manual-subsection:first-of-type {
  border-top: 0;
}

.new-product-manual-table {
  display: grid;
  gap: 8px;
}

.new-product-manual-table h5 {
  color: #1f3552;
  font-size: 14px;
}

.new-product-manual-table .table-wrap {
  max-height: none;
  overflow: auto;
  border-color: #d8e4f2;
  box-shadow: none;
}

.new-product-manual-table table {
  width: max-content;
  min-width: 100%;
  table-layout: auto;
}

.new-product-manual-table th,
.new-product-manual-table td {
  min-width: 150px;
  max-width: 420px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word;
  vertical-align: top;
  line-height: 1.65;
}

.new-product-manual-table th:first-child,
.new-product-manual-table td:first-child {
  min-width: 220px;
}

.new-product-manual-table td {
  color: #3c5069;
}

.new-product-manual-text {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-left: 3px solid #2f6fe4;
  background: #f7faff;
}

.new-product-manual-text p {
  margin: 0;
  color: #344760;
  line-height: 1.9;
}

.new-product-manual-text strong {
  color: #17233a;
  font-weight: 900;
}

.new-product-review-subsection {
  gap: 12px;
  padding: 12px 0 4px;
  border-top: 1px solid #edf2f7;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.new-product-review-table {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.new-product-review-table .table-wrap {
  width: 100%;
  max-width: 100%;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  border-color: #d8e4f2;
  box-shadow: none;
  box-sizing: border-box;
}

.new-product-review-table table {
  width: max-content;
  min-width: 1880px;
  max-width: none;
  table-layout: fixed;
}

.new-product-review-table th,
.new-product-review-table td {
  width: 128px;
  min-width: 112px;
  max-width: 220px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word;
  vertical-align: top;
  line-height: 1.65;
  box-sizing: border-box;
}

.new-product-review-table th:nth-child(4),
.new-product-review-table td:nth-child(4),
.new-product-review-table th:nth-child(5),
.new-product-review-table td:nth-child(5) {
  width: 480px;
  min-width: 420px;
  max-width: 560px;
}

.new-product-review-table th:nth-child(6),
.new-product-review-table td:nth-child(6),
.new-product-review-table th:nth-child(7),
.new-product-review-table td:nth-child(7) {
  width: 280px;
  min-width: 240px;
  max-width: 340px;
}

.new-product-review-table.new-product-review-longtail-table table {
  min-width: 3060px;
}

.new-product-review-table.new-product-review-longtail-table th,
.new-product-review-table.new-product-review-longtail-table td {
  width: 88px;
  min-width: 72px;
  max-width: 112px;
  line-height: 1.62;
  text-align: left;
  vertical-align: top;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(1),
.new-product-review-table.new-product-review-longtail-table td:nth-child(1) {
  width: 54px;
  min-width: 48px;
  max-width: 60px;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(2),
.new-product-review-table.new-product-review-longtail-table td:nth-child(2),
.new-product-review-table.new-product-review-longtail-table th:nth-child(3),
.new-product-review-table.new-product-review-longtail-table td:nth-child(3) {
  width: 460px;
  min-width: 420px;
  max-width: 520px;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(4),
.new-product-review-table.new-product-review-longtail-table td:nth-child(4),
.new-product-review-table.new-product-review-longtail-table th:nth-child(5),
.new-product-review-table.new-product-review-longtail-table td:nth-child(5),
.new-product-review-table.new-product-review-longtail-table th:nth-child(7),
.new-product-review-table.new-product-review-longtail-table td:nth-child(7) {
  width: 112px;
  min-width: 96px;
  max-width: 132px;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(6),
.new-product-review-table.new-product-review-longtail-table td:nth-child(6) {
  width: 540px;
  min-width: 480px;
  max-width: 620px;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(8),
.new-product-review-table.new-product-review-longtail-table td:nth-child(8),
.new-product-review-table.new-product-review-longtail-table th:nth-child(9),
.new-product-review-table.new-product-review-longtail-table td:nth-child(9),
.new-product-review-table.new-product-review-longtail-table th:nth-child(14),
.new-product-review-table.new-product-review-longtail-table td:nth-child(14),
.new-product-review-table.new-product-review-longtail-table th:nth-child(15),
.new-product-review-table.new-product-review-longtail-table td:nth-child(15) {
  width: 180px;
  min-width: 150px;
  max-width: 220px;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(10),
.new-product-review-table.new-product-review-longtail-table td:nth-child(10),
.new-product-review-table.new-product-review-longtail-table th:nth-child(11),
.new-product-review-table.new-product-review-longtail-table td:nth-child(11),
.new-product-review-table.new-product-review-longtail-table th:nth-child(12),
.new-product-review-table.new-product-review-longtail-table td:nth-child(12),
.new-product-review-table.new-product-review-longtail-table th:nth-child(13),
.new-product-review-table.new-product-review-longtail-table td:nth-child(13),
.new-product-review-table.new-product-review-longtail-table th:nth-child(16),
.new-product-review-table.new-product-review-longtail-table td:nth-child(16) {
  width: 78px;
  min-width: 64px;
  max-width: 96px;
}

.new-product-review-table.new-product-review-longtail-table th:nth-child(1),
.new-product-review-table.new-product-review-longtail-table td:nth-child(1),
.new-product-review-table.new-product-review-longtail-table th:nth-child(7),
.new-product-review-table.new-product-review-longtail-table td:nth-child(7),
.new-product-review-table.new-product-review-longtail-table th:nth-child(10),
.new-product-review-table.new-product-review-longtail-table td:nth-child(10),
.new-product-review-table.new-product-review-longtail-table th:nth-child(11),
.new-product-review-table.new-product-review-longtail-table td:nth-child(11),
.new-product-review-table.new-product-review-longtail-table th:nth-child(12),
.new-product-review-table.new-product-review-longtail-table td:nth-child(12),
.new-product-review-table.new-product-review-longtail-table th:nth-child(13),
.new-product-review-table.new-product-review-longtail-table td:nth-child(13) {
  text-align: center;
}

.new-product-qna-subsection {
  gap: 12px;
  padding: 12px 0 4px;
  border-top: 1px solid #edf2f7;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.new-product-qna-table {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.new-product-qna-table .table-wrap {
  width: 100%;
  max-width: 100%;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  border-color: #d8e4f2;
  box-shadow: none;
  box-sizing: border-box;
}

.new-product-qna-table table {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

.new-product-qna-table th,
.new-product-qna-table td {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 10px 12px;
  border: 1px solid #d8e4f2;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  vertical-align: top;
  line-height: 1.55;
  box-sizing: border-box;
}

.new-product-qna-table th {
  background: #eef4fb;
  color: #20354d;
  font-weight: 700;
  text-align: left;
}

.new-product-qna-table th:first-child,
.new-product-qna-table td:first-child {
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  text-align: center;
}
.new-product-research-table {
  margin: 14px 0 22px;
  min-width: 0;
  max-width: 100%;
}

.new-product-research-table .table-wrap {
  width: 100%;
  max-width: 100%;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  border-color: #d8e4f2;
  box-shadow: none;
}

.new-product-research-table table {
  width: max-content;
  max-width: none;
  table-layout: fixed;
}

.new-product-research-table th,
.new-product-research-table td {
  min-width: 140px;
  max-width: 280px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  vertical-align: top;
  line-height: 1.62;
}

.new-product-research-table-interview table {
  min-width: 1760px;
}

.new-product-research-table-interview th:nth-child(1),
.new-product-research-table-interview td:nth-child(1) {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
}

.new-product-research-table-interview th:nth-child(2),
.new-product-research-table-interview td:nth-child(2) {
  width: 76px;
  min-width: 76px;
  max-width: 76px;
  text-align: center;
}

.new-product-research-table-interview th:nth-child(3),
.new-product-research-table-interview td:nth-child(3) {
  width: 360px;
  min-width: 360px;
  max-width: 360px;
}

.new-product-research-table-interview th:nth-child(4),
.new-product-research-table-interview td:nth-child(4) {
  width: 460px;
  min-width: 460px;
  max-width: 460px;
}

.new-product-research-table-interview th:nth-child(5),
.new-product-research-table-interview td:nth-child(5) {
  width: 110px;
  min-width: 110px;
  max-width: 110px;
  text-align: center;
}

.new-product-research-table-interview th:nth-child(n + 6),
.new-product-research-table-interview td:nth-child(n + 6) {
  width: 210px;
  min-width: 180px;
  max-width: 240px;
}

.new-product-research-table-voice table {
  min-width: 1880px;
}

.new-product-research-table .research-quote-cell {
  width: 560px;
  min-width: 480px;
  max-width: 720px;
  padding: 16px 18px;
  color: #243952;
  background: #fbfdff;
  line-height: 1.78;
}

.research-quote-mark {
  display: block;
  width: fit-content;
  margin-bottom: 8px;
  padding: 2px 7px;
  border-radius: 4px;
  color: #b42318;
  background: #fff1f0;
  font-size: 12px;
  font-weight: 700;
}

.new-product-research-table .research-metric-cell {
  min-width: 220px;
}

.research-data-bar {
  display: block;
  width: 100%;
  height: 6px;
  margin-top: 9px;
  overflow: hidden;
  border-radius: 3px;
  background: #e7edf5;
}

.research-data-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2f6ee8;
}

.new-product-research-table-survey th:nth-child(-n + 3),
.new-product-research-table-survey td:nth-child(-n + 3) {
  min-width: 110px;
  max-width: 210px;
}

.new-product-research-table > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.new-product-research-table > header h5 {
  margin: 0;
  font-size: 15px;
  color: #14243a;
}

.new-product-research-table > header div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.new-product-research-table.editing .table-wrap {
  box-shadow: 0 0 0 2px rgba(47, 110, 232, 0.18);
}

.new-product-research-table [contenteditable="true"] {
  background: #fffdf2;
  outline: 1px solid rgba(234, 179, 8, 0.32);
  outline-offset: -2px;
}

.new-product-review-processor {
  display: grid;
  gap: 18px;
}

.new-product-review-processor-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
}

.new-product-review-processor-controls label {
  display: grid;
  gap: 8px;
  font-weight: 800;
  color: var(--text-strong);
}

.new-product-review-processor-controls select,
.new-product-review-processor-controls input {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
}

.new-product-review-processor-metrics article.success,
.new-product-review-evidence-status article.success {
  border-color: rgba(22, 163, 74, .22);
  background: #f0fdf4;
}

.new-product-review-processor-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 12px;
  max-width: none;
}

.new-product-review-processor-metrics article {
  min-width: 0;
}

.new-product-review-processor-metrics article.danger,
.new-product-review-evidence-status article.danger {
  border-color: rgba(220, 38, 38, .22);
  background: #fff1f2;
}

.new-product-review-processor-table {
  max-width: 100%;
  overflow: auto;
}

.new-product-review-processor-table table {
  min-width: 1380px;
  table-layout: fixed;
}

.new-product-review-processor-table th:nth-child(5),
.new-product-review-processor-table td:nth-child(5) {
  width: 460px;
  white-space: normal;
  line-height: 1.7;
}

.new-product-review-processor-table th:nth-child(7),
.new-product-review-processor-table td:nth-child(7) {
  width: 260px;
  white-space: normal;
  line-height: 1.7;
}

.new-product-review-evidence-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 12px;
}

.new-product-review-evidence-status article {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  background: #f8fbff;
}

.new-product-review-evidence-status span {
  display: block;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 800;
}

.new-product-review-evidence-status strong {
  display: block;
  margin-top: 4px;
  font-size: 24px;
  color: var(--text-strong);
}

.new-product-review-evidence-note {
  margin-top: 12px;
  padding: 12px 14px;
  border-left: 4px solid var(--primary);
  background: #f5f9ff;
  color: var(--text);
  line-height: 1.7;
}

@media (max-width: 980px) {
  .new-product-review-processor-controls,
  .new-product-review-evidence-status {
    grid-template-columns: 1fr;
  }

  .new-product-review-processor-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .new-product-review-processor-metrics {
    grid-template-columns: 1fr;
  }
}

.new-product-knowledge-list {
  display: grid;
  gap: 10px;
}

.new-product-knowledge-list article {
  padding: 12px;
  border: 1px solid #dfe8f0;
  border-radius: 8px;
  background: #fff;
}

.new-product-knowledge-list p {
  color: #526277;
  line-height: 1.6;
}

.new-product-knowledge-list span {
  color: #7a8798;
}

.new-product-report pre {
  max-height: 640px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  padding: 16px;
  border: 1px solid #dfe8f0;
  border-radius: 8px;
  background: #f8fbff;
  color: #1d2a3d;
  line-height: 1.7;
}

.new-product-report-locked {
  min-height: 280px;
  align-content: center;
  text-align: center;
}
.new-product-report-locked strong {
  display: block;
  margin-bottom: 10px;
  color: #0f172a;
  font-size: 22px;
}
.new-product-report-locked p {
  margin: 0 0 10px;
  color: #475569;
}
.new-product-report-locked span {
  color: #64748b;
  font-weight: 700;
}

.new-product-report-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid #e4ebf3;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-report-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f3f7fc;
  color: #31435d;
  white-space: nowrap;
}

.new-product-report-meta b {
  color: #66758c;
  font-size: 12px;
}

.new-product-report-meta i {
  color: #1e2f48;
  font-style: normal;
  font-weight: 700;
  font-size: 13px;
}

.new-product-report-visuals {
  display: grid;
  gap: 14px;
  margin: 12px 0 14px;
}

.new-product-report-stage-card {
  padding: 0;
  min-width: 0;
  max-width: 100%;
  border: 1px solid #e4ebf3;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.new-product-report-stage-card .new-product-v2-report {
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* New product v352: neutral business palette, no pink/red surfaces. */
#productCenterView.new-product-workbench,
#productCenterView.new-product-workbench * {
  --accent-soft: #f4f7fb;
}

#productCenterView .new-product-tabs,
#productCenterView .new-product-tabs button,
#productCenterView .new-product-create,
#productCenterView .new-product-list-panel,
#productCenterView .new-product-detail-panel,
#productCenterView .new-product-project,
#productCenterView .new-product-stage-rail button,
#productCenterView .new-product-stage-form,
#productCenterView .new-product-ai-result,
#productCenterView .new-product-template,
#productCenterView .new-product-template-grid article,
#productCenterView .new-product-stage-brief section,
#productCenterView .new-product-knowledge-list article,
#productCenterView .new-product-report pre {
  background: #fff !important;
  box-shadow: none !important;
}

#productCenterView .new-product-tabs button.active,
#productCenterView .new-product-project.active,
#productCenterView .new-product-stage-rail button.selected {
  background: #f6f9fc !important;
  border-color: #cbd7e5 !important;
  box-shadow: none !important;
}

#productCenterView .new-product-project b,
#productCenterView .new-product-requirements span,
#productCenterView .new-product-upload-list span {
  background: #f3f6f9 !important;
  color: #334155 !important;
}

#productCenterView .new-product-project small,
#productCenterView .new-product-delete-btn,
#productCenterView .new-product-decision em {
  color: #334155 !important;
}

#productCenterView .new-product-delete-btn {
  border-color: #d7e0ea !important;
  background: #fff !important;
}

#productCenterView .new-product-stage-rail button {
  border-color: #e1e8f0 !important;
}

#productCenterView .new-product-stage-rail button span {
  background: #e8eef5 !important;
  color: #475569 !important;
}

#productCenterView .new-product-stage-rail button.active span,
#productCenterView .new-product-stage-rail button.selected span {
  background: #4f74b8 !important;
  color: #fff !important;
}

#productCenterView .new-product-stage-rail button.done span {
  background: #5d9b79 !important;
  color: #fff !important;
}

#productCenterView .new-product-stage-actions .success {
  background: #fff !important;
  border-color: #cbd7e5 !important;
  color: #334155 !important;
}

@media (max-width: 1100px) {
  .new-product-layout,
  .new-product-form,
  .new-product-insight-grid,
  .new-product-template-grid,
  .new-product-stage-brief {
    grid-template-columns: 1fr;
  }
  .new-product-hero,
  .new-product-project-head {
    align-items: stretch;
    flex-direction: column;
  }
  .new-product-decision {
    text-align: left;
  }
}

.ai-floating-toggle,
.ai-floating-drawer {
  pointer-events: auto;
}

.ai-pet-pose-toggle {
  position: absolute;
  right: 2px;
  bottom: 93px;
  z-index: 4;
  width: 30px;
  height: 24px;
  padding: 0 0 7px;
  border: 1px solid #eadde0;
  border-radius: 999px;
  background: #fff;
  color: #8b6268;
  box-shadow: 0 5px 14px rgba(55, 43, 35, .12);
  font-size: 14px;
  line-height: 1;
  pointer-events: auto;
}

.ai-pet-pose-menu {
  position: absolute;
  right: 0;
  bottom: 126px;
  z-index: 5;
  width: 190px;
  padding: 10px;
  border: 1px solid #e4dfe1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(35, 45, 51, .17);
  pointer-events: auto;
}

.ai-pet-pose-menu strong {
  display: block;
  padding: 2px 3px 8px;
  color: #2c3c45;
  font-size: 12px;
}

.ai-pet-pose-menu > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}

.ai-pet-pose-menu button {
  padding: 7px 4px;
  border: 1px solid #e5e8ea;
  border-radius: 5px;
  background: #fff;
  color: #596a73;
  box-shadow: none;
  font-size: 12px;
}

.ai-pet-pose-menu button:hover,
.ai-pet-pose-menu button.active {
  border-color: #efbac4;
  background: #fff1f4;
  color: #d93652;
}

.ai-floating-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 108px;
  height: 132px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 24px;
  background: transparent;
  box-shadow: none;
  color: #172a35;
}

.ai-floating-toggle:hover {
  transform: translateY(-3px);
  background: transparent;
  box-shadow: none;
}

.ai-floating-toggle img {
  width: 104px;
  height: 118px;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 9px 8px rgba(70, 42, 24, .2));
  box-shadow: none;
}

.ai-floating-toggle span {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 64px;
  padding: 5px 10px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #e83f5b;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 7px 18px rgba(194, 41, 67, 0.25);
}

.ai-floating-toggle i {
  position: absolute;
  top: 8px;
  right: 5px;
  width: 13px;
  height: 13px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #d7dee3;
}

.ai-floating-toggle i.online {
  background: #e83f5b;
}

.ai-floating-drawer {
  position: absolute;
  right: 0;
  bottom: 8px;
  display: grid;
  grid-template-rows: auto minmax(220px, 1fr) auto auto;
  width: min(430px, calc(100vw - 32px));
  height: min(690px, calc(100vh - 42px));
  overflow: hidden;
  border: 1px solid #d8e0e5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(23, 42, 53, 0.22);
  opacity: 0;
  transform: translateY(18px) scale(0.96);
  transform-origin: right bottom;
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.ai-floating.open .ai-floating-drawer {
  opacity: 1;
  transform: translateY(0) scale(1);
  visibility: visible;
}

.ai-floating.open .ai-floating-toggle {
  visibility: hidden;
}

.ai-floating.open .ai-pet-pose-toggle,
.ai-floating.open .ai-pet-pose-menu {
  visibility: hidden;
}

.ai-floating-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 15px;
  border-bottom: 1px solid #e5eaed;
  background: #fbf7f4;
}

.ai-floating-identity {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.ai-floating-identity img {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border: 2px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 20%;
  box-shadow: 0 4px 13px rgba(32, 45, 55, 0.16);
}

.ai-floating-identity > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ai-floating-identity strong {
  font-size: 15px;
}

.ai-floating .ai-status {
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: #6d7d87;
  font-size: 11px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-floating .ai-status:not(.offline) {
  color: #c52e48;
}

.ai-floating-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #d9e1e5;
  border-radius: 50%;
  background: #fff;
  color: #51636e;
  box-shadow: none;
  font-size: 22px;
  font-weight: 400;
}

.ai-floating-close:hover {
  color: #c52e48;
  border-color: #efb8c2;
  background: #fff3f5;
}

.ai-head-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.ai-training-toggle,
.ai-training-title button,
.ai-training-form-actions button,
.ai-training-rule button {
  padding: 6px 10px;
  border: 1px solid #e1d8da;
  border-radius: 6px;
  background: #fff;
  color: #4e5d66;
  box-shadow: none;
  font-size: 12px;
}

.ai-training-toggle:hover,
.ai-training-title button:hover,
.ai-training-form-actions button:last-child,
.ai-training-rule button:hover {
  border-color: #e53855;
  background: #e53855;
  color: #fff;
}

.ai-training-panel {
  min-height: 0;
  padding: 14px;
  overflow-y: auto;
  background: #f7f8fa;
}

.ai-training-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.ai-training-title > div {
  display: grid;
  gap: 2px;
}

.ai-training-title span {
  color: #74838c;
  font-size: 11px;
}

.ai-training-form {
  display: none;
  gap: 9px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #eadcdf;
  border-radius: 7px;
  background: #fff;
}

.ai-training-form.active {
  display: grid;
}

.ai-training-form > label {
  display: grid;
  gap: 5px;
  color: #52636d;
  font-size: 12px;
}

.ai-training-form input[type="text"],
.ai-training-form input:not([type]),
.ai-training-form textarea {
  width: 100%;
  font-size: 12px;
}

.ai-training-form textarea {
  resize: vertical;
}

.ai-training-form fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid #e1e6e9;
  border-radius: 6px;
}

.ai-training-form legend {
  color: #52636d;
  font-size: 12px;
}

.ai-training-form fieldset label,
.ai-training-enabled {
  display: flex !important;
  align-items: center;
  gap: 5px;
}

.ai-training-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}

.ai-training-rules {
  display: grid;
  gap: 8px;
}

.ai-training-rule {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid #e0e6e9;
  border-radius: 7px;
  background: #fff;
}

.ai-training-rule.disabled {
  opacity: 0.55;
}

.ai-training-rule > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ai-training-rule span,
.ai-training-rule p,
.ai-training-empty {
  margin: 0;
  color: #71818a;
  font-size: 11px;
  line-height: 1.5;
}

.ai-training-rule > div:last-child {
  display: flex;
  flex: 0 0 auto;
  gap: 5px;
}

.ai-floating .ai-messages {
  min-height: 0;
  padding: 16px;
  background: #f7f8fa;
}

.ai-floating .ai-message {
  width: min(88%, 340px);
  padding: 11px 12px;
  font-size: 13px;
}

.ai-floating .ai-message p {
  line-height: 1.65;
}

.ai-quick-questions {
  display: flex;
  gap: 7px;
  padding: 10px 12px 0;
  overflow-x: auto;
  border-top: 1px solid #e5eaed;
  background: #fff;
}

.ai-quick-questions button {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid #dce3e7;
  border-radius: 6px;
  background: #fff;
  color: #4a5e69;
  box-shadow: none;
  font-size: 12px;
}

.ai-quick-questions button:hover {
  color: #c52e48;
  border-color: #efb8c2;
  background: #fff3f5;
}

.ai-floating .ai-composer {
  gap: 8px;
  padding: 10px 12px 12px;
}

.ai-floating .ai-composer textarea {
  min-height: 64px;
  max-height: 150px;
  resize: none;
}

.ai-floating .ai-composer > div span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-floating .ai-composer button {
  flex: 0 0 auto;
  padding: 8px 14px;
}

@media (max-width: 900px) {
  .app-shell,
  .app-shell.sidebar-collapsed {
    grid-template-columns: 1fr;
  }

  .youpin-head,
  .youpin-preview-head,
  .youpin-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .youpin-code-map {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .youpin-code-map {
    display: grid;
  }

  .youpin-actions > span {
    margin-right: 0;
  }

  .toolkit-hero,
  .pdf-result-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .toolkit-roadmap {
    justify-content: flex-start;
  }

  .toolkit-layout {
    grid-template-columns: 1fr;
  }

  .toolkit-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdf-tool-actions {
    justify-content: flex-start;
  }

  .ai-floating {
    right: 12px;
    bottom: 12px;
  }

  .ai-floating-toggle {
    width: 90px;
    height: 110px;
  }

  .ai-floating-toggle img {
    width: 86px;
    height: 98px;
  }

  .ai-pet-pose-toggle {
    bottom: 79px;
  }

  .ai-pet-pose-menu {
    bottom: 108px;
  }

  .ai-floating-drawer {
    position: fixed;
    right: 8px;
    bottom: 8px;
    width: calc(100vw - 16px);
    height: min(680px, calc(100vh - 16px));
  }

  .office-pet {
    width: 96px;
    height: 120px;
  }

  .office-pet-body {
    inset: 12px 3px 0;
    width: 92px;
    height: 104px;
  }

  .office-pet-bubble {
    left: 70px;
    bottom: 102px;
    max-width: 155px;
    font-size: 11px;
  }
}

/* Final JPRX theme layer: keep this block at the end so old theme fragments cannot override it. */
:root {
  --ink: #1f1716;
  --muted: #716865;
  --soft: #9b918d;
  --line: #eadfdb;
  --line-strong: #dacac4;
  --panel: #ffffff;
  --bg: #f7f3f1;
  --nav: #ffffff;
  --nav-2: #fff8f6;
  --accent: #b61f2d;
  --accent-dark: #8f1621;
  --accent-soft: #fff0f1;
  --gold: #31465b;
  --gold-soft: #eef3f8;
  --danger: #b61f2d;
  --shadow: 0 18px 48px rgba(60, 38, 32, 0.1);
  --shadow-soft: 0 10px 26px rgba(60, 38, 32, 0.07);
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(182, 31, 45, 0.1), transparent 27%),
    radial-gradient(circle at 84% 8%, rgba(49, 70, 91, 0.08), transparent 26%),
    linear-gradient(180deg, #fbf8f6 0%, #f4eeeb 48%, #f7f3f1 100%);
}

.login-shell {
  background:
    linear-gradient(120deg, rgba(182, 31, 45, 0.08), rgba(255, 255, 255, 0.72) 42%, rgba(49, 70, 91, 0.09)),
    #fbf8f6 !important;
}

.login-panel {
  border: 1px solid rgba(182, 31, 45, 0.16) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 28px 80px rgba(60, 38, 32, 0.13) !important;
}

.login-logo {
  display: block;
  width: min(320px, 72vw);
  height: auto;
  margin: 0 0 22px;
  object-fit: contain;
}

.app-shell {
  grid-template-columns: 268px minmax(0, 1fr) !important;
  background: transparent !important;
}

.app-shell.sidebar-collapsed {
  grid-template-columns: 74px minmax(0, 1fr) !important;
}

.sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #fff8f6 48%, #f7f0ed 100%) !important;
  color: var(--ink) !important;
  border-right: 1px solid rgba(182, 31, 45, 0.12) !important;
  box-shadow: 8px 0 28px rgba(60, 38, 32, 0.07) !important;
}

.brand {
  min-height: 72px !important;
  padding: 16px 14px 14px !important;
  color: var(--ink) !important;
  border-bottom: 1px solid rgba(182, 31, 45, 0.12) !important;
}

.brand-mark {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(182, 31, 45, 0.12) !important;
  overflow: hidden;
}

.brand-mark img,
.brand-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand strong {
  color: #241918 !important;
  letter-spacing: 0 !important;
}

.brand small {
  color: var(--muted) !important;
}

.sidebar-toggle {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(182, 31, 45, 0.16) !important;
  border-radius: 9px !important;
  color: var(--accent) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(60, 38, 32, 0.08) !important;
}

.sidebar-toggle:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

#nav {
  padding: 14px 12px 18px !important;
  gap: 8px !important;
}

#nav button,
#nav button:hover,
#nav button:active,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button {
  box-shadow: none !important;
}

#nav .nav-section {
  margin: 0 !important;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  min-height: 44px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  padding: 10px 11px !important;
  color: #312421 !important;
  background: transparent !important;
}

#nav .nav-section-toggle:hover,
#nav .system-entry > button:hover {
  color: var(--accent) !important;
  background: #fff !important;
  border-color: rgba(182, 31, 45, 0.12) !important;
}

#nav .nav-section-toggle span,
#nav .system-entry > button span {
  gap: 12px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

#nav .oa-icon {
  width: 23px !important;
  height: 23px !important;
  border: 1px solid rgba(49, 70, 91, 0.14) !important;
  border-radius: 7px !important;
  color: #334253 !important;
  background: #fff !important;
}

#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon {
  color: var(--accent) !important;
  border-color: rgba(182, 31, 45, 0.22) !important;
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  border-color: rgba(49, 70, 91, 0.12) !important;
  background: #fff !important;
}

#nav .nav-section-toggle b::after,
#nav .nav-subsection-toggle b::after {
  color: #66707c !important;
}

.nav-children {
  margin: 2px 0 10px 35px !important;
  padding-left: 17px !important;
  border-left: 1px solid #e8d7d2 !important;
}

.nav-children > button,
.nav-grandchildren button,
.nav-children .nav-grandchildren button {
  min-height: 36px !important;
  border-radius: 0 8px 8px 0 !important;
  color: #5d5552 !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.nav-subsection-toggle,
.nav-children .nav-subsection-toggle {
  min-height: 40px !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #312421 !important;
  font-weight: 800 !important;
}

.nav-subsection-toggle span::before,
#nav .nav-subsection-toggle span::before {
  width: 8px !important;
  height: 8px !important;
  border: 2px solid var(--accent) !important;
  border-radius: 3px !important;
  background: transparent !important;
}

.nav-grandchildren {
  margin-left: 8px !important;
  padding-left: 13px !important;
  border-left: 1px solid #efdeda !important;
}

#nav button.active,
#nav .nav-subsection-toggle.active {
  color: var(--accent) !important;
  background: #fff0f1 !important;
}

.nav-grandchildren button.active::before {
  background: var(--accent) !important;
}

.system-entry {
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #e8d7d2 !important;
}

.sidebar #logoutBtn {
  margin: 12px !important;
  color: #4a3f3c !important;
  background: #ffffff !important;
  border: 1px solid #e5d6d1 !important;
}

.sidebar #logoutBtn:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

.sidebar-collapsed .brand {
  justify-content: center !important;
  padding-inline: 10px !important;
}

.sidebar-collapsed .brand-mark {
  width: 44px !important;
  height: 44px !important;
}

.sidebar-collapsed .nav-section-toggle,
.sidebar-collapsed .system-entry > button {
  justify-content: center !important;
  padding: 10px !important;
}

.content {
  background: transparent !important;
}

.topbar {
  min-height: 92px !important;
  border-bottom: 1px solid rgba(182, 31, 45, 0.1) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(16px);
}

.topbar h2 {
  color: #241918 !important;
}

.user-chip {
  border-color: rgba(49, 70, 91, 0.16) !important;
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow: 0 12px 28px rgba(60, 38, 32, 0.08) !important;
}

.welcome-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(280px, 390px);
  gap: 22px;
  align-items: stretch;
  margin-bottom: 20px;
  padding: 30px;
  border: 1px solid rgba(182, 31, 45, 0.14);
  border-radius: 18px;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 244, 0.9)),
    radial-gradient(circle at 12% 20%, rgba(182, 31, 45, 0.12), transparent 30%);
  box-shadow: 0 24px 62px rgba(60, 38, 32, 0.1);
}

.welcome-logo {
  width: min(360px, 62vw);
  height: auto;
  margin: 0 0 20px;
  object-fit: contain;
}

.welcome-copy h1 {
  margin: 0;
  color: #241918;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
  letter-spacing: 0;
}

.welcome-copy p:not(.eyebrow) {
  max-width: 760px;
  margin: 16px 0 0;
  color: #625653;
  font-size: 16px;
  line-height: 1.8;
}

.welcome-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.plain-action {
  color: var(--accent) !important;
  background: #fff !important;
  border: 1px solid rgba(182, 31, 45, 0.2) !important;
  box-shadow: none !important;
}

.plain-action:hover {
  color: #fff !important;
  background: var(--accent) !important;
}

.welcome-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 260px;
  padding: 24px;
  border: 1px solid rgba(49, 70, 91, 0.14);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(160deg, #31465b 0%, #1f2a36 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.welcome-panel span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.welcome-panel strong {
  display: block;
  margin-top: 10px;
  font-size: 26px;
  line-height: 1.24;
}

.welcome-panel p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
}

.metrics article,
.module-card,
.panel,
.toolbar,
.table-wrap,
.approval-hero,
.account-card {
  border-color: rgba(49, 70, 91, 0.12) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 14px 34px rgba(60, 38, 32, 0.07) !important;
}

.metrics article {
  border-top: 3px solid var(--accent) !important;
}

.module-card.live {
  background: linear-gradient(135deg, rgba(182, 31, 45, 0.08), rgba(255, 255, 255, 0.94)) !important;
}

button {
  border-radius: 9px !important;
}

button.secondary {
  background: #31465b !important;
}

button.secondary:hover {
  background: #223140 !important;
}

@media (max-width: 1100px) {
  .welcome-hero {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .welcome-panel {
    min-height: auto;
  }
}




/* Invoice tools refresh */
.invoice-history-board {
  margin-top: 18px;
}

.invoice-history-head,
.panel-title-row,
.internal-upload-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.invoice-history-head h3,
.panel-title-row h3,
.internal-upload-panel h3 {
  margin: 4px 0 0;
  font-size: 18px;
}

.invoice-history-head span {
  color: #73808b;
  font-size: 13px;
}

.invoice-calendar {
  display: grid;
  grid-template-columns: 88px repeat(12, minmax(112px, 1fr));
  border: 1px solid #dfe7ec;
  border-radius: 10px;
  overflow-x: auto;
  background: #fff;
}

.invoice-calendar-year,
.invoice-calendar article {
  min-height: 132px;
  padding: 14px;
  border-right: 1px solid #dfe7ec;
}

.invoice-calendar-year {
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #172531;
  background: #f6f8fa;
}

.invoice-calendar article {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.invoice-calendar article strong {
  color: #172531;
}

.invoice-calendar article em {
  color: #9aa5af;
  font-style: normal;
  font-size: 12px;
}

.invoice-calendar article button,
.internal-history-list button {
  border: 1px solid #ead7dc;
  border-radius: 8px;
  background: #fff6f8;
  color: #172531;
  text-align: left;
  padding: 8px 9px;
  box-shadow: none;
}

.invoice-calendar article button span,
.internal-history-list button strong {
  display: block;
  font-size: 12px;
  white-space: normal;
}

.invoice-calendar article button small,
.internal-history-list button span {
  display: block;
  margin-top: 3px;
  color: #75838f;
  font-size: 11px;
}

.internal-invoice-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.internal-invoice-layout {
  display: grid;
  grid-template-columns: minmax(420px, 0.9fr) minmax(620px, 1.4fr);
  gap: 18px;
  align-items: start;
}

.internal-model-panel,
.internal-workspace {
  min-width: 0;
}

.internal-workspace {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.compact-actions,
.internal-upload-panel .youpin-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.internal-model-table {
  margin-top: 14px;
  max-height: 520px;
}

.internal-model-table table,
.internal-preview-table table {
  min-width: 760px;
}

.internal-model-table input {
  width: 100%;
  min-width: 120px;
  border: 1px solid #dce5eb;
  border-radius: 6px;
  padding: 7px 8px;
  background: #fff;
}

.internal-result-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.internal-result-cards article {
  border: 1px solid #dfe7ec;
  border-radius: 10px;
  padding: 13px 14px;
  background: #fbfcfd;
}

.internal-result-cards span {
  display: block;
  color: #72808b;
  font-size: 12px;
}

.internal-result-cards strong {
  display: block;
  margin-top: 7px;
  font-size: 22px;
}

.internal-history-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}

.warning-row td {
  background: #fff4f0;
  color: #b42336;
  font-weight: 700;
}

#nav .oa-icon {
  color: #39444a;
  background-color: currentColor;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  background: transparent;
}

#nav .nav-section-toggle:hover,
#nav .system-entry > button:hover,
#nav button.active {
  background: #fff;
}

#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon {
  background-color: #d93b55;
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  background: #fff;
}

@media (max-width: 1180px) {
  .internal-invoice-layout {
    grid-template-columns: 1fr;
  }
}

/* Final sidebar and invoice-maintenance fixes */
.sidebar {
  background: #f7f8fa !important;
  color: #182532 !important;
}

.sidebar .brand,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button {
  color: #182532 !important;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  min-height: 44px !important;
  border-radius: 12px !important;
  background: transparent !important;
}

#nav .nav-section-toggle:hover,
#nav .system-entry > button:hover,
#nav button.active {
  background: #ffffff !important;
  color: #d93650 !important;
}

#nav .nav-section-toggle i,
#nav .oa-icon {
  width: 23px !important;
  height: 23px !important;
  color: #4d5965 !important;
  background-color: currentColor !important;
  opacity: 1 !important;
}

#nav .nav-section-toggle:hover i,
#nav .nav-section-toggle:hover .oa-icon,
#nav .system-entry > button:hover .oa-icon,
#nav button.active .oa-icon {
  color: #d93650 !important;
  background-color: currentColor !important;
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  background: #ffffff !important;
  border: 1px solid #e2e7ec !important;
}

#nav .nav-section-toggle b:hover,
#nav .nav-subsection-toggle b:hover {
  background: #fff1f3 !important;
  border-color: #f2b8c1 !important;
}

.internal-model-table input:disabled {
  color: #172531 !important;
  background: #f7f9fb !important;
  border-color: transparent !important;
  box-shadow: none !important;
  cursor: default;
}

.employee-profile-panel {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #e6c7cd;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff, #fff7f8);
  box-shadow: 0 12px 28px rgba(116, 31, 48, 0.08);
}
.profile-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.profile-card-head h3 {
  margin: 2px 0 4px;
  font-size: 22px;
}
.profile-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}
.profile-field-grid label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: #667085;
}
.profile-field-grid input {
  height: 38px;
  border: 1px solid #d8e0e7;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: #162331;
}
.profile-field-grid input[readonly] {
  background: #f6f8fb;
  color: #667085;
}
.profile-name-link {
  border: 0;
  background: transparent;
  color: inherit;
  font-weight: inherit;
  cursor: pointer;
  padding: 0;
  font: inherit;
  line-height: inherit;
}
.profile-name-link:hover {
  color: inherit;
  text-decoration: none;
}

.active-roster-table {
  font-size: 14px;
}

.online-name {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.online-name i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .16);
  flex: 0 0 auto;
}


.decision-shell {
  display: grid;
  gap: 16px;
}

.decision-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border-left: 4px solid var(--primary);
}

.decision-hero h3 {
  margin: 4px 0 8px;
  font-size: 24px;
}

.decision-hero p {
  margin: 0;
  color: var(--muted);
}

.decision-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.decision-notes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.decision-notes span {
  padding: 8px 12px;
  border: 1px solid rgba(223, 63, 88, .22);
  background: #fff5f7;
  color: #8d2637;
  border-radius: 8px;
  font-size: 13px;
}

.decision-table-wrap {
  max-height: calc(100vh - 310px);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.decision-table-wrap table {
  min-width: 1200px;
}

.decision-table-wrap th {
  white-space: nowrap;
}

.decision-table-wrap td {
  vertical-align: top;
}

.decision-table-wrap input,
.decision-table-wrap select,
.decision-table-wrap textarea {
  width: 100%;
  min-width: 120px;
  border: 1px solid #d6e0e7;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

.decision-table-wrap textarea {
  min-width: 220px;
  resize: vertical;
}

.decision-table-wrap input[readonly],
.decision-table-wrap textarea[readonly] {
  background: #f6f8fa;
  color: #677786;
}

.decision-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, .28);
  backdrop-filter: blur(4px);
}

.decision-modal.hidden {
  display: none;
}

.decision-modal-card {
  width: min(680px, 94vw);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
  padding: 22px;
}

.decision-modal-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.decision-modal-card h3 {
  margin: 4px 0 0;
  font-size: 24px;
}

.decision-form {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.decision-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-weight: 700;
}

.decision-form input,
.decision-form select,
.decision-form textarea {
  border: 1px solid #d6e0e7;
  border-radius: 9px;
  padding: 10px 12px;
  font: inherit;
  color: var(--text);
  background: #fff;
}

.decision-form select[multiple] {
  min-height: 132px;
}

@media (max-width: 900px) {
  .decision-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .decision-actions {
    justify-content: flex-start;
  }
}

/* Decision desk refinement */
.decision-shell {
  gap: 12px;
}

.decision-hero {
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 6px 0 14px;
}

.decision-hero > div > p:not(.eyebrow) {
  display: none;
}

.decision-table-wrap {
  max-height: calc(100vh - 210px);
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: auto;
}

.decision-project-group {
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid #dfe7ed;
  border-radius: 10px;
  overflow: hidden;
}

.decision-project-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid #e5edf2;
  background: #f8fafc;
  color: #152332;
  box-shadow: none;
  text-align: left;
}

.decision-project-head strong {
  font-size: 16px;
}

.decision-project-head em {
  margin-left: auto;
  font-style: normal;
  color: #718095;
  font-size: 13px;
}

.decision-project-body.hidden {
  display: none;
}

.decision-project-body table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.decision-project-body th {
  position: relative;
  height: 42px;
  background: #f5f7f9;
  border-bottom: 1px solid #dfe7ed;
  color: #354253;
  font-size: 13px;
  white-space: nowrap;
}

.decision-project-body td {
  min-width: 110px;
  border-bottom: 1px solid #edf1f4;
  background: #fff;
  vertical-align: top;
  padding: 10px 12px;
}

.decision-project-body tr:hover td {
  background: #fbfcfd;
}

.decision-display {
  display: block;
  min-height: 26px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  color: #172331;
}

.decision-project-body input,
.decision-project-body textarea,
.decision-project-body select {
  width: 100%;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid #cfd9e3;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 6px 2px;
  color: #172331;
  font: inherit;
}

.decision-project-body textarea {
  min-height: 46px;
  resize: vertical;
}

.decision-select {
  appearance: none;
  padding-right: 26px !important;
  background:
    linear-gradient(45deg, transparent 50%, #667085 50%) right 10px center / 6px 6px no-repeat,
    linear-gradient(135deg, #667085 50%, transparent 50%) right 6px center / 6px 6px no-repeat !important;
}

.decision-date-input {
  cursor: pointer;
}

.decision-note-cell {
  min-width: 260px;
}

.decision-note-cell pre {
  margin: 0 0 8px;
  max-height: 96px;
  overflow: auto;
  white-space: pre-wrap;
  color: #4d5a6b;
  font: inherit;
}

.decision-file-cell {
  display: grid;
  gap: 6px;
  min-width: 150px;
}

.decision-file-cell input[type="file"] {
  border-bottom: 0;
  padding-left: 0;
}

.decision-file-cell span {
  color: #6a7788;
  font-size: 12px;
}

.col-resizer {
  position: absolute;
  top: 0;
  right: 0;
  width: 7px;
  height: 100%;
  cursor: col-resize;
}

.decision-form input[list] {
  letter-spacing: 0;
}

/* Decision desk polish */
.decision-shell {
  gap: 18px;
}

.decision-hero {
  background: linear-gradient(135deg, #fff 0%, #fff7f8 58%, #f6f8fb 100%);
  border: 1px solid #ead8dc;
  border-radius: 14px;
  padding: 20px 22px;
  box-shadow: 0 18px 44px rgba(28, 36, 48, .08);
}

.decision-hero h3 {
  font-size: 28px;
  letter-spacing: 0;
}

.decision-actions button {
  min-height: 42px;
  padding-inline: 18px;
  border-radius: 10px;
}

.decision-table-wrap {
  max-height: calc(100vh - 245px);
  padding-bottom: 10px;
}

.decision-project-group {
  border: 1px solid #e2d6da;
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(28, 36, 48, .07);
}

.decision-project-head {
  min-height: 52px;
  padding: 14px 18px;
  background: #fff;
  border-bottom: 1px solid #eee0e4;
}

.decision-project-head span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  color: #d92d4b;
  background: #fff0f3;
  font-size: 18px;
  font-weight: 900;
}

.decision-project-head strong {
  font-size: 18px;
}

.decision-project-head em {
  font-size: 14px;
}

.decision-project-body th {
  height: 48px;
  padding: 0 14px;
  background: #fbf7f8;
  color: #273446;
  font-size: 15px;
  font-weight: 800;
}

.decision-project-body td {
  padding: 14px 14px;
  font-size: 15px;
  line-height: 1.65;
}

.decision-display {
  min-height: 32px;
  font-size: 15px;
}

.decision-project-body input,
.decision-project-body textarea,
.decision-project-body select {
  min-height: 36px;
  font-size: 15px;
  border-bottom: 1px solid #d8c4ca;
}

.decision-project-body textarea {
  min-height: 72px;
  line-height: 1.65;
}

.decision-note-cell {
  min-width: 340px;
}

.decision-note-cell pre {
  max-height: 140px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #faf7f8;
  border: 1px solid #eadde1;
  font-size: 14px;
}

.decision-upload-cell {
  display: grid;
  gap: 8px;
  min-width: 220px;
}

.decision-file-input {
  display: none;
}

.decision-upload-box {
  min-height: 74px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 12px 14px;
  border: 1px dashed #d8a7b1;
  border-radius: 12px;
  background: #fff8fa;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.decision-upload-box:hover,
.decision-upload-cell.drag-over .decision-upload-box {
  border-color: #d92d4b;
  background: #fff1f4;
  box-shadow: 0 10px 24px rgba(217, 45, 75, .12);
}

.decision-upload-box strong {
  color: #273446;
  font-size: 14px;
  word-break: break-all;
}

.decision-upload-box span,
.decision-attachment-link {
  color: #738094;
  font-size: 13px;
}

.decision-attachment-link {
  text-decoration: none;
}

.decision-attachment-link:hover {
  color: #d92d4b;
}

.decision-modal-card {
  border-radius: 16px;
}

.decision-form label {
  font-size: 15px;
}

.decision-form input,
.decision-form select,
.decision-form textarea {
  min-height: 42px;
  border-radius: 11px;
  font-size: 15px;
}

/* Decision table compact business layout */
.decision-hero {
  background: #fff;
  border: 1px solid #e7edf3;
  border-radius: 10px;
  box-shadow: none;
  padding: 14px 16px;
}

.decision-hero h3 {
  font-size: 24px;
}

.decision-table-wrap {
  max-height: calc(100vh - 230px);
  overflow: auto;
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: #fff;
}

.decision-project-group {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  border-radius: 0;
  box-shadow: none;
}

.decision-project-head,
.decision-project-head:hover,
.decision-project-head:focus {
  min-height: 38px;
  padding: 8px 12px;
  background: #f8fafc;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  color: #1f2937;
  box-shadow: none;
}

.decision-project-head span {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: #eef2f6;
  color: #475569;
  font-size: 14px;
}

.decision-project-head strong {
  font-size: 15px;
}

.decision-project-body table {
  width: 1670px;
  min-width: 1670px;
  table-layout: fixed;
  border-collapse: collapse;
}

.decision-project-body th {
  height: 36px;
  padding: 0 8px;
  background: #f6f8fb;
  border-right: 1px solid #e7edf3;
  font-size: 13px;
}

.decision-project-body td {
  height: 54px;
  max-height: 54px;
  padding: 6px 8px;
  border-right: 1px solid #edf1f5;
  font-size: 14px;
  line-height: 1.35;
  overflow: hidden;
}

.decision-project-body tr:hover td {
  background: #fff;
}

.decision-display {
  min-height: 0;
  max-height: 42px;
  overflow: hidden;
  line-height: 1.45;
  font-size: 14px;
}

.decision-project-body input,
.decision-project-body textarea,
.decision-project-body select {
  min-height: 30px;
  padding: 3px 2px;
  font-size: 14px;
}

.decision-project-body textarea {
  min-height: 42px;
  max-height: 42px;
  resize: none;
}

.decision-note-cell pre {
  max-height: 42px;
  padding: 4px 6px;
  margin: 0 0 4px;
  font-size: 13px;
}

.decision-upload-box {
  min-height: 42px;
  padding: 6px 8px;
}

.decision-upload-box span,
.decision-attachment-link {
  font-size: 12px;
}

.col-resizer {
  display: none;
}

.decision-delete-btn {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #f0c3cb;
  border-radius: 8px;
  background: #fff5f7;
  color: #c9233f;
  box-shadow: none;
}

.decision-delete-btn:hover {
  background: #ffe9ee;
}

.decision-memo-item {
  border-left: 3px solid #d92d4b;
}

.decision-gantt-panel {
  padding: 16px;
  border: 1px solid #e5eaf0;
  border-radius: 12px;
  background: #fff;
  overflow: auto;
}

.decision-gantt {
  min-width: 980px;
}

.gantt-axis {
  position: relative;
  height: 28px;
  margin-left: 230px;
  border-bottom: 1px solid #e5eaf0;
}

.gantt-axis span {
  position: absolute;
  transform: translateX(-50%);
  color: #64748b;
  font-size: 12px;
}

.gantt-row {
  display: grid;
  grid-template-columns: 220px minmax(520px, 1fr) 320px;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  border-bottom: 1px solid #f0f3f6;
}

.gantt-meta {
  display: grid;
  gap: 2px;
}

.gantt-meta strong,
.gantt-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gantt-meta span {
  color: #64748b;
  font-size: 12px;
}

.gantt-track {
  position: relative;
  height: 14px;
  border-radius: 999px;
  background: #eef2f6;
}

.gantt-bar {
  position: absolute;
  top: 2px;
  bottom: 2px;
  border-radius: 999px;
  background: #d92d4b;
}

.gantt-bar.status-已完成 {
  background: #64748b;
}

.gantt-bar.status-暂停 {
  background: #b7791f;
}

/* Decision table overflow guard */
.decision-project-body td {
  height: 54px !important;
  max-height: 54px !important;
  overflow: hidden !important;
  vertical-align: middle;
}

.decision-note-cell {
  height: 42px;
  max-height: 42px;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.decision-note-cell pre {
  max-height: 38px !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: 4px 6px !important;
}

.decision-note-cell textarea {
  max-height: 38px !important;
  min-height: 38px !important;
  overflow: auto !important;
}

.decision-note-cell pre + textarea {
  display: none;
}

.decision-note-cell:focus-within {
  height: 84px;
  max-height: 84px;
  position: relative;
  z-index: 2;
  background: #fff;
}

.decision-note-cell:focus-within pre {
  max-height: 34px !important;
}

.decision-note-cell:focus-within pre + textarea {
  display: block;
}

.decision-upload-cell {
  height: 42px;
  max-height: 42px;
  overflow: hidden;
  min-width: 0 !important;
}

.decision-upload-box {
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 4px 7px !important;
  gap: 0 !important;
  overflow: hidden;
  border-radius: 8px !important;
}

.decision-upload-box strong,
.decision-upload-box span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.decision-upload-box span {
  font-size: 11px !important;
}

.decision-attachment-link {
  display: none;
}

/* Decision table compact editable controls */
.decision-note-cell {
  height: 48px !important;
  max-height: 48px !important;
  grid-template-rows: 20px 24px !important;
  gap: 2px;
}

.decision-note-cell pre {
  max-height: 20px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 1px 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.decision-note-cell textarea,
.decision-note-cell pre + textarea,
.decision-note-cell:focus-within pre + textarea {
  display: block !important;
  min-height: 24px !important;
  max-height: 24px !important;
  height: 24px !important;
  padding: 2px 6px !important;
  resize: none !important;
}

.decision-note-cell:focus-within {
  height: 72px !important;
  max-height: 72px !important;
  grid-template-rows: 22px 46px !important;
}

.decision-note-cell:focus-within textarea {
  min-height: 46px !important;
  max-height: 46px !important;
  height: 46px !important;
}

.decision-upload-cell {
  position: relative;
}

.decision-file-input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  display: block !important;
  cursor: pointer !important;
  z-index: 2;
}

.decision-upload-box {
  pointer-events: none;
}

.decision-project-master-table th,
.decision-project-master-table td {
  height: 52px;
  vertical-align: middle;
}

.decision-note-cell {
  height: 68px !important;
  max-height: 68px !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 24px !important;
  gap: 4px !important;
  overflow: hidden !important;
  background: transparent !important;
}

.decision-progress-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}

.decision-progress-entry {
  max-width: 100%;
  padding: 5px 7px 4px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(93, 73, 68, .12);
}

.decision-progress-text {
  font-size: 13px;
  line-height: 1.35;
  color: #1f2b37;
  white-space: normal;
  word-break: break-word;
}

.decision-progress-time {
  margin-top: 2px;
  text-align: right;
  font-size: 10px;
  line-height: 1;
  color: rgba(31, 43, 55, .48);
}

.decision-progress-empty {
  color: rgba(31, 43, 55, .38);
  font-size: 12px;
  line-height: 22px;
}

.decision-note-cell textarea,
.decision-note-cell pre + textarea,
.decision-note-cell:focus-within pre + textarea {
  display: block !important;
  min-height: 24px !important;
  max-height: 24px !important;
  height: 24px !important;
  padding: 3px 7px !important;
  resize: none !important;
  font-size: 12px !important;
}

.decision-note-cell:focus-within {
  height: 92px !important;
  max-height: 92px !important;
  grid-template-rows: minmax(0, 1fr) 28px !important;
}

.project-master-input {
  width: 100%;
  min-height: 36px;
  border-radius: 9px;
  border: 1px solid rgba(93, 73, 68, .18);
  background: #fff;
  padding: 7px 10px;
  font-size: 14px;
}

.project-master-input:focus {
  border-color: rgba(217, 45, 75, .58);
  box-shadow: 0 0 0 3px rgba(217, 45, 75, .09);
}

/* Decision progress final layout override */
.decision-project-body table {
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
}

.decision-project-body td {
  height: 86px !important;
  max-height: none !important;
  vertical-align: top !important;
}

.decision-project-body td:has(.decision-note-cell) {
  overflow: visible !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.decision-note-cell {
  height: 70px !important;
  max-height: none !important;
  min-height: 70px !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-rows: minmax(34px, 1fr) 24px !important;
  gap: 5px !important;
}

.decision-progress-list {
  max-height: 44px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.decision-progress-entry {
  padding: 4px 7px 3px !important;
  border-radius: 8px !important;
}

.decision-progress-text {
  font-size: 13px !important;
  line-height: 1.28 !important;
}

.decision-progress-time {
  font-size: 10px !important;
  margin-top: 1px !important;
}

.decision-note-cell textarea {
  width: 100% !important;
  min-height: 24px !important;
  height: 24px !important;
  max-height: 24px !important;
  line-height: 18px !important;
}

.decision-note-cell:focus-within {
  height: 104px !important;
  min-height: 104px !important;
  max-height: none !important;
  grid-template-rows: minmax(54px, 1fr) 30px !important;
}

.decision-note-cell:focus-within .decision-progress-list {
  max-height: 66px !important;
}

/* Decision table must scroll horizontally instead of clipping right columns */
.decision-table-wrap {
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-width: 100% !important;
  padding-bottom: 10px !important;
}

.decision-project-group {
  width: max-content !important;
  min-width: 100% !important;
  overflow: visible !important;
}

.decision-project-body {
  overflow: visible !important;
}

.decision-project-body table {
  width: max-content !important;
  min-width: 100% !important;
}

.project-master-input.is-fixed {
  color: #7a6f6a;
  background: #f6f3f1;
  cursor: not-allowed;
}

.project-master-locked,
.project-master-display {
  display: block;
  min-height: 36px;
  line-height: 36px;
  padding: 0 8px;
  color: #2a2524;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-master-locked {
  font-weight: 700;
}

.project-people-picker {
  width: 190px;
  max-width: 190px;
}

.project-people-checklist {
  display: grid;
  gap: 7px;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 4px;
}

.project-people-checklist label {
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: center;
  min-height: 50px;
  padding: 4px 10px;
  border: 1px solid #dbe5ef;
  border-radius: 7px;
  background: #fff;
  color: #344256;
  font-weight: 600;
  cursor: pointer;
}

.project-people-checklist label:has(input:checked) {
  border-color: #ff6d86;
  background: #fff1f4;
  color: #c21f3a;
}

.project-people-checklist input {
  appearance: none;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0;
  border: 1px solid #5f6874;
  border-radius: 2px;
  background: #fff;
}

.project-people-checklist input:checked {
  border-color: #e63c5d;
  background: #e63c5d;
}

.project-people-checklist input:checked::after {
  content: "";
  width: 22px;
  height: 13px;
  border-left: 5px solid #fff;
  border-bottom: 5px solid #fff;
  transform: rotate(-45deg) translate(1px, -2px);
}

/* Todo center stability: keep cards readable on smaller app windows. */
.todo-three-col {
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.15fr) minmax(320px, 1.15fr) !important;
  align-items: stretch !important;
}

.todo-center-list .home-todo-item {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: 72px !important;
  padding: 14px 16px !important;
}

.todo-center-list .home-todo-item b {
  align-self: center !important;
  line-height: 1 !important;
  text-align: center !important;
}

.todo-center-list .home-todo-item strong,
.todo-center-list .home-todo-item small {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.todo-center-list .home-todo-item strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

.todo-history-list .todo-history-item {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

.todo-history-list .todo-result-badge {
  grid-column: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  margin-top: 8px !important;
  min-width: 72px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

@media (max-width: 1280px) {
  .todo-three-col {
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 1fr) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .todo-preview-panel {
    grid-column: 1 / -1 !important;
    min-height: 260px !important;
  }
}

@media (max-width: 860px) {
  .todo-three-col {
    grid-template-columns: 1fr !important;
  }

  .todo-active-panel,
  .todo-history-panel,
  .todo-preview-panel {
    min-width: 0 !important;
  }
}

/* Customer desk v71: actual workarea class stacks process above consult on small windows. */
@media (max-width: 1280px) {
  .customer-main-workarea {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .customer-main-workarea .customer-processing-panel {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .customer-main-workarea .customer-consult-form {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .customer-processing-panel .record-header.compact {
    gap: 10px !important;
  }

  .customer-processing-panel .customer-process-search {
    min-width: 0 !important;
    flex: 1 1 360px !important;
  }

  .customer-processing-panel .customer-process-search .search {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* Customer ledger v74: final EOF override for readable small-window cards. */
@media (max-width: 1280px) {
  .customer-ledger-section,
  .customer-list-panel,
  #customerRecentRecords,
  .customer-order-ledger {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }

  .customer-order-columns {
    display: none !important;
  }

  .customer-order-body {
    display: grid !important;
    grid-template-columns: minmax(140px, .9fr) minmax(240px, 1.35fr) 92px minmax(170px, .9fr) !important;
    grid-auto-rows: auto !important;
  }

  .customer-order-body > section {
    min-width: 0 !important;
    min-height: 82px !important;
    padding: 10px 12px !important;
    border-left: 1px solid #edf1f5 !important;
    border-top: 1px solid #edf1f5 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .customer-order-customer { grid-column: 1 !important; grid-row: 1 !important; }
  .customer-order-question { grid-column: 2 !important; grid-row: 1 !important; }
  .customer-order-status { grid-column: 3 !important; grid-row: 1 !important; }
  .customer-order-nos { grid-column: 4 !important; grid-row: 1 !important; }
  .customer-order-service { grid-column: 1 !important; grid-row: 2 !important; }
  .customer-order-progress { grid-column: 2 / 4 !important; grid-row: 2 !important; }
  .customer-order-handover { grid-column: 4 !important; grid-row: 2 !important; }
  .customer-order-remark { grid-column: 1 / -1 !important; grid-row: 3 !important; }

  .customer-order-progress,
  .customer-order-handover,
  .customer-order-remark {
    min-height: 112px !important;
  }

  .customer-order-card .customer-progress-list,
  .customer-order-card .handover-reason,
  .customer-order-card .handover-reason span,
  .customer-order-card .handover-reason small {
    display: block !important;
    white-space: pre-wrap !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
  }

  .customer-order-card .customer-chase-cell {
    min-height: 100% !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
  }
}

@media (max-width: 980px) {
  .customer-order-body {
    grid-template-columns: minmax(130px, .9fr) minmax(180px, 1.1fr) 82px !important;
  }

  .customer-order-customer { grid-column: 1 !important; grid-row: 1 !important; }
  .customer-order-question { grid-column: 2 / 4 !important; grid-row: 1 !important; }
  .customer-order-status { grid-column: 1 !important; grid-row: 2 !important; }
  .customer-order-nos { grid-column: 2 / 4 !important; grid-row: 2 !important; }
  .customer-order-service { grid-column: 1 !important; grid-row: 3 !important; }
  .customer-order-progress { grid-column: 2 / 4 !important; grid-row: 3 !important; }
  .customer-order-handover { grid-column: 1 / -1 !important; grid-row: 4 !important; }
  .customer-order-remark { grid-column: 1 / -1 !important; grid-row: 5 !important; }
}

/* Final home gantt grid fix: dynamic date columns, one clean grid, no stacked borders. */
.home-gantt-days {
  grid-template-columns: repeat(var(--home-gantt-day-count, 15), minmax(0, 1fr)) !important;
}

.home-gantt-days span {
  border-left: 0 !important;
  box-shadow: none !important;
}

.home-gantt-track::before {
  background: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc(var(--home-gantt-day-width, 6.666%) - 1px),
    rgba(214, 224, 236, .78) calc(var(--home-gantt-day-width, 6.666%) - 1px),
    rgba(214, 224, 236, .78) var(--home-gantt-day-width, 6.666%)
  ) !important;
}

.home-today-line {
  left: var(--home-gantt-today-left, 50%) !important;
  width: 1px !important;
  background: #f04452 !important;
}

/* Culture banner should show uploaded artwork only; no overlaid copy. */
.home-promo-banner {
  padding: 0 !important;
  background: var(--culture-bg, linear-gradient(135deg, #eef4fb 0%, #f8fbff 100%)) center / cover no-repeat !important;
}

.home-promo-banner.has-culture-image {
  background: var(--culture-bg) center / cover no-repeat !important;
}

.home-promo-banner > div:not(.home-culture-dots) {
  display: none !important;
}

.home-culture-edit {
  position: absolute !important;
  right: 18px !important;
  top: 16px !important;
  z-index: 3 !important;
}

.home-culture-edit::before {
  content: "编辑" !important;
  display: inline !important;
  font-size: 13px !important;
}

.home-culture-edit {
  font-size: 0 !important;
}

.project-people-inputline {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 6px;
}

.project-people-inputline select {
  min-width: 0;
}

/* Dashboard schedule timeline */
.work-calendar-panel {
  border: 1px solid rgba(124, 72, 78, .12);
  border-radius: 18px;
  background: linear-gradient(135deg, #fffaf7 0%, #f7f3f1 58%, #f8fbff 100%);
  box-shadow: 0 18px 50px rgba(54, 43, 39, .08);
  padding: 18px;
  overflow: hidden;
}

.work-calendar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.work-calendar-head h3 {
  margin: 3px 0 8px;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1;
  letter-spacing: .02em;
}

.calendar-stats {
  display: none;
}

.calendar-stats span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
}

.dot-blue { background: #5c9be8; }
.dot-green { background: #25b783; }
.dot-amber { background: #d99a2b; }

.work-calendar-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 760px;
}

.calendar-search,
.calendar-mode-select,
.work-calendar-tools input[type="month"] {
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(94, 72, 68, .16);
  background: rgba(255, 255, 255, .72);
  padding: 0 12px;
  color: #2b2524;
  box-shadow: none;
}

.calendar-search {
  width: 170px;
}

.calendar-mode-select {
  width: 74px;
}

.work-calendar-tools input[type="month"] {
  width: 138px;
}

.calendar-nav-btn,
.calendar-today-btn {
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(94, 72, 68, .14);
  background: rgba(255, 255, 255, .75);
  color: #2b2524;
  box-shadow: none;
}

.calendar-nav-btn {
  width: 38px;
  padding: 0;
  font-size: 22px;
}

.calendar-today-btn {
  padding: 0 16px;
  font-weight: 700;
}

.work-calendar-body {
  overflow-x: auto;
  padding-bottom: 6px;
}

.work-calendar-timeline {
  min-width: 100%;
}

.timeline-days,
.timeline-grid {
  display: grid;
}

.timeline-days {
  border-bottom: 1px dashed rgba(98, 82, 77, .24);
}

.timeline-day {
  min-height: 48px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #211a18;
  box-shadow: none;
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 4px 2px;
}

.timeline-day span {
  font-weight: 700;
}

.timeline-day small {
  color: #8a7f7a;
  font-size: 11px;
}

.timeline-day.selected span,
.timeline-day.today span {
  color: #d93652;
}

.timeline-day.selected {
  background: rgba(217, 54, 82, .08);
}

.timeline-grid {
  min-height: 128px;
  padding: 10px 0 14px;
  background:
    repeating-linear-gradient(90deg, rgba(92, 63, 55, .045) 0 1px, transparent 1px 100%),
    linear-gradient(90deg, rgba(255,255,255,.42), rgba(255,255,255,.16));
}

.timeline-row {
  display: grid;
  min-height: 34px;
  margin: 5px 0;
  padding: 0 4px;
}

.timeline-task {
  min-height: 28px;
  border: 0;
  border-radius: 9px;
  padding: 5px 10px;
  color: #1f252d;
  text-align: left;
  box-shadow: 0 8px 18px rgba(34, 26, 22, .08);
  overflow: hidden;
}

.timeline-task b,
.timeline-task small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.timeline-task b {
  font-size: 13px;
}

.timeline-task small {
  margin-top: 1px;
  opacity: .74;
  font-size: 11px;
}

.timeline-task.blue { background: #77b8f6; }
.timeline-task.green { background: #32c997; }
.timeline-task.amber { background: #f2c36a; }
.timeline-task.violet { background: #bba2f2; }
.timeline-task.late { background: #ff7980; }
.timeline-task.paused { background: #d8d2ca; }
.timeline-task.done { background: #cdd5dd; }

.work-calendar-foot {
  display: grid;
  grid-template-columns: minmax(420px, .8fr) minmax(520px, 1.2fr);
  gap: 14px;
  margin-top: 12px;
  align-items: start;
}

.work-calendar-foot .memo-form,
.work-calendar-list {
  border: 1px solid rgba(94, 72, 68, .12);
  border-radius: 14px;
  background: rgba(255,255,255,.68);
  padding: 12px;
}

.work-calendar-foot .memo-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.work-calendar-foot .memo-form strong,
.work-calendar-foot .memo-form textarea,
.work-calendar-foot .memo-form .memo-options {
  grid-column: 1 / -1;
}

.work-calendar-foot .memo-form textarea {
  min-height: 46px;
}

.work-calendar-list {
  max-height: 128px;
  overflow: auto;
}

@media (max-width: 1100px) {
  .work-calendar-head,
  .work-calendar-foot {
    grid-template-columns: 1fr;
    display: grid;
  }

  .work-calendar-tools {
    justify-content: flex-start;
  }
}

/* Final decision desk cleanup */
.decision-bulkbar {
  position: sticky;
  left: 0;
  z-index: 5;
  display: flex;
  justify-content: flex-end;
  padding: 0 0 8px;
  background: rgba(250, 247, 244, .92);
}

.decision-check-cell {
  text-align: center;
  vertical-align: middle !important;
}

.decision-check-cell input,
.decision-project-body th input {
  width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
}

.decision-project-body td {
  height: auto !important;
  min-height: 62px !important;
  max-height: none !important;
}

.decision-note-cell {
  height: auto !important;
  min-height: 58px !important;
  max-height: none !important;
  display: grid !important;
  grid-template-rows: auto 26px !important;
  overflow: visible !important;
}

.decision-progress-list {
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.decision-progress-entry {
  display: block !important;
  padding: 3px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.decision-progress-time {
  display: inline !important;
  margin: 0 8px 0 0 !important;
  color: rgba(31, 43, 55, .48) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  white-space: nowrap;
}

.decision-progress-text {
  display: inline !important;
  color: #1f2b37 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  word-break: break-word;
}

.decision-note-cell textarea {
  margin-top: 4px !important;
  min-height: 26px !important;
  height: 26px !important;
  max-height: 26px !important;
  border-bottom-color: rgba(217, 45, 75, .28) !important;
}

.decision-note-cell:focus-within {
  height: auto !important;
  min-height: 90px !important;
  max-height: none !important;
  grid-template-rows: auto 30px !important;
}

.decision-upload-cell {
  height: 42px !important;
  max-height: 42px !important;
  min-width: 0 !important;
}

.decision-upload-box {
  min-height: 36px !important;
  max-height: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px dashed rgba(217, 45, 75, .48) !important;
  background: transparent !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
}

.decision-upload-box strong {
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: #d92d4b !important;
}

.decision-upload-box span {
  max-width: 82px !important;
  font-size: 12px !important;
  color: rgba(31, 43, 55, .62) !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Decision progress should expand vertically, never overlap the input */
.decision-project-body td:has(.decision-note-cell) {
  height: auto !important;
  min-height: 96px !important;
  overflow: visible !important;
  vertical-align: top !important;
}

.decision-note-cell,
.decision-note-cell:focus-within {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  height: auto !important;
  min-height: 82px !important;
  max-height: none !important;
  overflow: visible !important;
  position: static !important;
  background: transparent !important;
}

.decision-progress-list,
.decision-note-cell:focus-within .decision-progress-list {
  flex: 0 0 auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.decision-progress-entry {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 2px 0 !important;
}

.decision-progress-time {
  flex: 0 0 92px !important;
  margin: 0 !important;
  padding-top: 1px !important;
  text-align: right !important;
}

.decision-progress-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: normal !important;
}

.decision-note-cell textarea,
.decision-note-cell:focus-within textarea {
  flex: 0 0 28px !important;
  width: 100% !important;
  min-height: 28px !important;
  height: 28px !important;
  max-height: 28px !important;
  margin: 0 !important;
  position: static !important;
}

.decision-executor-picker {
  min-height: 46px;
  padding: 8px;
}

.decision-executor-picker .project-people-inputline {
  grid-template-columns: 1fr;
}

.decision-executor-picker input {
  min-height: 34px;
}

/* Decision table polish: calm hierarchy without red hover blocks */
.decision-project-body tr:hover td {
  background: rgba(246, 248, 252, .92) !important;
}

.decision-work-content {
  display: block;
  color: #182330;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.7;
  letter-spacing: 0;
}

.decision-executor-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}

.decision-executor-list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #203040;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
}

.decision-executor-list i {
  width: 17px;
  height: 17px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2f7;
  border: 1px solid #d6deea;
  color: #5b6878;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.decision-reminder,
.decision-acceptance {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid #d8e1ec;
  background: #f7f9fc;
  color: #304052;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.decision-reminder.late {
  border-color: #f1b6bf;
  background: #fff5f6;
  color: #a42b3b;
}

.decision-reminder.today {
  border-color: #e5c982;
  background: #fff9e8;
  color: #7c590f;
}

.decision-reminder.done {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #465364;
}

.decision-acceptance {
  border-color: #d7d2ee;
  background: #f7f5ff;
  color: #51456f;
}

.decision-acceptance.pending {
  border-color: #d7c28b;
  background: #fff8e5;
  color: #7a5511;
}

.decision-acceptance.pass {
  border-color: #b8c9e5;
  background: #f2f6ff;
  color: #26466f;
}

.decision-acceptance.reject {
  border-color: #f0b8c1;
  background: #fff4f6;
  color: #a92c3e;
}

.decision-acceptance.warn {
  border-color: #e8be82;
  background: #fff5e7;
  color: #8a4b0c;
}

/* 2026-06 homepage refresh and decision table refinement */
.topbar {
  display: none !important;
}

.content {
  padding-top: 0 !important;
}

.workspace-home {
  gap: 16px !important;
  padding: 22px 24px 36px !important;
}

.home-hero-card,
.home-todo-panel,
.home-mini-panel,
.home-calendar-card,
.home-promo-banner {
  border: 1px solid rgba(92, 112, 138, .16) !important;
  border-bottom: none !important;
  border-radius: 18px 18px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(45, 57, 76, .06) !important;
  backdrop-filter: none;
}

.home-hero-card {
  min-height: 148px !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) minmax(240px, 340px) !important;
  align-items: stretch !important;
  gap: 16px !important;
  padding: 18px !important;
  overflow: hidden !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.70), rgba(230,239,252,.66) 42%, rgba(255,255,255,.50)),
    url("data:image/svg+xml,%3Csvg width='1600' height='360' viewBox='0 0 1600 360' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='sky' x1='0' x2='1'%3E%3Cstop stop-color='%23dbeafe'/%3E%3Cstop offset='.55' stop-color='%23f7fbff'/%3E%3Cstop offset='1' stop-color='%23f2e9e3'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='360' fill='url(%23sky)'/%3E%3Cpath d='M0 250 C250 160 310 235 520 145 C730 55 760 230 980 135 C1180 45 1280 165 1600 86 L1600 360 L0 360Z' fill='%23ffffff' opacity='.72'/%3E%3Cpath d='M0 296 C250 220 430 265 650 210 C870 155 980 260 1180 210 C1390 158 1450 205 1600 174 L1600 360 L0 360Z' fill='%23b7cff4' opacity='.35'/%3E%3Ccircle cx='1285' cy='88' r='26' fill='%23fff' opacity='.7'/%3E%3Cpath d='M1080 120 l46 16 l-11 9 l-42 -13z' fill='%23374a63' opacity='.38'/%3E%3C/svg%3E") center/cover !important;
}

.home-hero-main {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(255,255,255,.64);
}

.home-hero-main h1 {
  margin: 2px 0 6px !important;
  color: #182330 !important;
  font-size: clamp(24px, 2.4vw, 36px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.home-hero-main p:not(.eyebrow) {
  margin: 0 !important;
  max-width: 720px;
  color: #506070 !important;
  font-size: 14px !important;
}

.home-weather-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(37, 48, 66, .62);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32);
}

.home-weather-card span,
.home-weather-card p {
  margin: 0;
  color: rgba(255,255,255,.84);
  font-weight: 700;
}

.home-weather-card strong {
  font-size: 24px;
  line-height: 1.1;
}

.user-avatar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #7387ff, #9c6bd3);
  background-size: cover;
  background-position: center;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(74, 86, 122, .16);
}

.user-avatar.has-image {
  color: transparent;
}

.user-avatar-lg {
  width: 68px;
  height: 68px;
  font-size: 24px;
  border: 3px solid rgba(255,255,255,.84);
}

.user-avatar-sm {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.user-avatar-xs {
  width: 19px;
  height: 19px;
  font-size: 10px;
}

.home-avatar-picker {
  cursor: pointer;
}

.home-avatar-picker:hover .user-avatar-lg {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(74, 86, 122, .2);
}

.home-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.home-panel-head h3 {
  margin: 2px 0 0;
  color: #182330;
  font-size: 19px;
  line-height: 1.15;
}

.home-todo-panel {
  padding: 18px 20px !important;
}

.home-todo-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
}

.home-todo-item {
  min-height: 80px !important;
  display: grid !important;
  grid-template-columns: 34px 1fr auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 16px !important;
  border: 1px solid rgba(92, 112, 138, .10) !important;
  border-radius: 12px !important;
  background: #fafbfd !important;
  box-shadow: none !important;
  color: #1d2a39 !important;
  text-align: left !important;
}

.home-todo-item:hover {
  background: rgba(239, 245, 255, .92) !important;
  transform: translateY(-1px);
}

.home-todo-item b {
  color: #6f87ad;
  font-size: 18px;
}

.home-todo-item span,
.home-todo-item strong,
.home-todo-item small {
  display: block;
  min-width: 0;
}

.home-todo-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}

.home-todo-item small {
  margin-top: 4px;
  color: #718096;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-todo-item em {
  min-width: 44px;
  padding: 6px 10px;
  border-radius: 9px;
  background: #2f5f92;
  color: #fff;
  font-style: normal;
  font-weight: 800;
  text-align: center;
}

.todo-center-header {
  padding: 24px 26px 18px;
  border-radius: 14px 14px 0 0;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  margin-bottom: 16px;
}

.todo-center-header h3 {
  margin: 0 0 8px;
  font-size: 24px;
  color: #182330;
}

.todo-center-header .eyebrow {
  margin-bottom: 6px;
}

.todo-center-hint {
  margin: 0;
  color: #667085;
  font-size: 14px;
}

.todo-three-col {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 16px;
  width: 100%;
  height: calc(100vh - 220px);
  min-height: 440px;
}

.todo-active-panel {
  background: #fff;
  border-radius: 14px 14px 0 0;
  padding: 18px;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.todo-history-panel {
  background: #fff;
  border-radius: 14px 14px 0 0;
  padding: 18px;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.todo-preview-panel {
  background: #fff;
  border-radius: 14px 14px 0 0;
  padding: 20px;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.todo-section-label {
  font-size: 14px;
  font-weight: 700;
  color: #2f5f92;
  margin-bottom: 12px;
  margin-top: 18px;
  padding-bottom: 8px;
  border-bottom: 2px solid #2f5f92;
}

.todo-section-label:first-child {
  margin-top: 0;
}

.todo-history-label {
  color: #888;
  border-bottom-color: #ccc;
}

.todo-list-panel .todo-section-label:nth-of-type(2) {
  color: #888;
  border-bottom-color: #ccc;
}

.todo-center-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  min-height: 0;
}

.todo-center-list .home-todo-item {
  padding: 14px 18px !important;
  gap: 14px !important;
  border-radius: 12px !important;
  min-height: 60px !important;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.todo-center-list .home-todo-item strong {
  font-size: 14px;
  line-height: 1.5;
}

.todo-center-list .home-todo-item small {
  font-size: 12px;
  margin-top: 4px;
}

.todo-preview-trigger.todo-preview-active {
  background: #e8f0fa !important;
  border-color: #2f5f92 !important;
}

.todo-preview-trigger:hover {
  background: #f5f7fa !important;
}

.todo-history-item {
  opacity: 0.72;
  cursor: pointer;
}

.todo-history-item:hover {
  opacity: 1;
}

.todo-preview-empty {
  color: #bbb;
  font-size: 15px;
  text-align: center;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.todo-preview-content {
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.todo-preview-header {
  margin-bottom: 16px;
}

.todo-preview-title {
  font-size: 20px;
  font-weight: 700;
  color: #2a2a2a;
  line-height: 1.4;
  margin-bottom: 8px;
}

.todo-preview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  color: #666;
}

.todo-preview-type {
  background: #2f5f92;
  color: #fff;
  padding: 3px 10px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 12px;
}

.todo-preview-result {
  margin-bottom: 16px;
}

.todo-preview-action-btn {
  display: inline-block;
  background: #2f5f92;
  color: #fff;
  padding: 10px 28px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: background 0.15s;
}

.todo-preview-action-btn:hover {
  background: #1e4a72;
}

.todo-preview-detail {
  margin-bottom: 20px;
}

.todo-detail-row {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
}

.todo-detail-row:last-child {
  border-bottom: none;
}

.todo-detail-label {
  color: #888;
  min-width: 80px;
  font-weight: 600;
  flex-shrink: 0;
}

.todo-detail-value {
  color: #2a2a2a;
  flex: 1;
  word-break: break-word;
}

.todo-detail-section-title {
  font-size: 13px;
  font-weight: 700;
  color: #888;
  margin-top: 12px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid #e0e0e0;
}

.todo-detail-flow {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.todo-detail-flow-step {
  background: #f5f7fa;
  color: #555;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.todo-preview-actions {
  margin-top: 16px;
}

.todo-result-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 8px;
  whitespace: nowrap;
  min-width: auto;
  text-align: center;
}

.todo-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 0 4px;
  margin-top: 4px;
}

.todo-pager-btn {
  background: #f0f4f8;
  color: #2f5f92;
  border: 1px solid #d8dde4;
  border-radius: 8px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
}

.todo-pager-btn:hover:not([disabled]) {
  background: #2f5f92;
  color: #fff;
}

.todo-pager-btn[disabled] {
  opacity: 0.4;
  cursor: default;
}

.todo-pager-info {
  font-size: 13px;
  color: #888;
  font-weight: 600;
}

.badge-done {
  background: #e8f5e9;
  color: #2e7d32;
}

.badge-reject {
  background: #fbe9e7;
  color: #c62828;
}

.badge-cancel {
  background: #f5f5f5;
  color: #757575;
}

.home-workbench-grid {
  display: grid;
  grid-template-columns: 1fr minmax(340px, 1fr);
  gap: 16px;
  align-items: stretch;
}

.home-left-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.home-promo-banner {
  min-height: 128px;
  display: flex;
  align-items: center;
  padding: 22px 28px;
  overflow: hidden;
  flex: 0 0 auto;
  background:
    linear-gradient(110deg, rgba(255,255,255,.86), rgba(218,231,255,.76)),
    url("data:image/svg+xml,%3Csvg width='1000' height='220' viewBox='0 0 1000 220' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1000' height='220' rx='26' fill='%23eaf3ff'/%3E%3Cpath d='M0 145 C170 88 230 155 395 92 C552 32 612 146 790 75 C895 35 950 55 1000 30 L1000 220 L0 220Z' fill='%23a8c7f5' opacity='.46'/%3E%3Cpath d='M680 88 h150 a18 18 0 0 1 18 18 v12 H664 v-12 a16 16 0 0 1 16-18z' fill='%23fff7c7' opacity='.9'/%3E%3Cpath d='M710 110 l70 26 l70 -26' stroke='%23d5a93a' stroke-width='6' fill='none'/%3E%3C/svg%3E") center/cover !important;
}

.home-promo-banner h3 {
  margin: 2px 0 8px;
  color: #1f3f6c;
  font-size: 24px;
}

.home-promo-banner span {
  color: #53677d;
  font-weight: 700;
}

.home-action-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0;
}

.home-mini-panel {
  padding: 18px !important;
  display: flex;
  flex-direction: column;
}

.quick-entry-grid.compact {
  grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  gap: 12px !important;
}

.quick-entry {
  min-height: 62px !important;
  border-radius: 14px !important;
  border-color: rgba(92, 112, 138, .14) !important;
  background: rgba(255,255,255,.72) !important;
  color: #203040 !important;
  box-shadow: 0 8px 18px rgba(45,57,76,.05) !important;
}

.quick-entry:hover {
  background: #f4f8ff !important;
  color: #203040 !important;
}

.entry-icon {
  background: linear-gradient(135deg, #7aa7ff, #7966dc) !important;
}

.home-calendar-card {
  max-height: 310px;
  padding: 16px 18px !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.home-calendar-card .home-panel-head.compact {
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 6px !important;
}

.home-calendar-card .work-calendar-tools.compact {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  max-width: none !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

.home-calendar-card .calendar-mode-select,
.home-calendar-card .calendar-nav-btn,
.home-calendar-card .calendar-today-btn {
  min-height: 32px !important;
  height: 32px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  padding: 0 10px !important;
  background: rgba(255, 255, 255, .78) !important;
}

.home-calendar-card .calendar-nav-btn {
  width: 32px !important;
  padding: 0 !important;
}

.home-calendar-card .calendar-today-btn {
  width: 48px !important;
  padding: 0 !important;
}

.home-calendar-timeline {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 180px;
  overflow-x: auto;
  overflow-y: auto;
  padding-bottom: 0;
}

.home-calendar-list {
  flex: 0 0 0;
  max-height: 0;
  overflow: hidden;
  margin-top: 0;
}

.home-calendar-list .memo-item {
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
}

.calendar-stats .dot-green { background: #6f87ad !important; }

.timeline-task.done {
  background: #dce5f2 !important;
  color: #334155 !important;
}

.timeline-task.blue {
  background: #8dbbff !important;
}

.timeline-task.amber {
  background: #f0c879 !important;
}

.timeline-task.violet {
  background: #bda6f3 !important;
}

.timeline-task.late {
  background: #ee8f9c !important;
}

.calendar-grid {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.calendar-grid-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-bottom: 6px;
  color: #7a8491;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.calendar-grid-cells {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  gap: 4px;
}

.calendar-grid-day .calendar-grid-cells {
  grid-template-columns: repeat(7, minmax(60px, 1fr));
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

.calendar-grid-week .calendar-grid-cells {
  grid-template-columns: repeat(2, minmax(60px, 1fr));
  grid-auto-rows: minmax(72px, 1fr);
}

.calendar-grid-month .calendar-grid-cells {
  grid-template-columns: repeat(4, minmax(60px, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.calendar-grid-cell {
  min-width: 0;
  min-height: 0;
  border: 1px solid rgba(90, 111, 135, .14);
  border-radius: 12px;
  background: rgba(255, 255, 255, .68);
  box-shadow: none;
  color: #1f2c3a;
  padding: 7px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 2px;
  text-align: left;
  overflow: hidden;
}

.calendar-grid-cell.outside {
  background: rgba(247, 249, 252, .5);
  border-style: dashed;
}

.calendar-grid-cell.selected {
  border-color: rgba(217, 54, 82, .45);
  background: rgba(255, 241, 244, .72);
}

.calendar-grid-cell.today .calendar-grid-date {
  color: #d93652;
}

.calendar-grid-date {
  font-size: 14px;
  font-weight: 900;
}

.calendar-grid-cell small {
  color: #8792a1;
  font-size: 10px;
  font-weight: 700;
}

.calendar-grid-items {
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-style: normal;
}

.calendar-grid-items i {
  color: #a0a9b6;
  font-style: normal;
  font-size: 11px;
}

.calendar-grid-items b {
  color: #6d7582;
  font-size: 11px;
}

.calendar-grid-task {
  min-width: 0;
  border-radius: 6px;
  padding: 2px 5px;
  color: #253142;
  font-size: 11px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-grid-task.blue,
.calendar-grid-task.green {
  background: #dcebff;
}

.calendar-grid-task.amber {
  background: #fff0c7;
}

.calendar-grid-task.violet {
  background: #eee6ff;
}

.calendar-grid-task.late {
  background: #ffe1e6;
}

.calendar-grid-task.paused {
  background: #ece8e3;
}

.calendar-grid-task.done {
  background: #e8eef6;
  color: #5d6878;
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#nav .nav-section-toggle b:hover,
#nav .nav-subsection-toggle b:hover {
  background: transparent !important;
  box-shadow: none !important;
}

#nav .nav-section-toggle b::after,
#nav .nav-subsection-toggle b::after {
  border-color: #64748b !important;
}

#nav .nav-section-toggle i,
#nav .oa-icon,
#nav .nav-section-toggle:hover i,
#nav .nav-section-toggle:hover .oa-icon {
  color: #4b5b70 !important;
  filter: none !important;
}

.decision-work-content {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.decision-project-body td {
  white-space: normal !important;
}

.decision-executor-list span {
  gap: 7px !important;
}

.decision-executor-list i {
  display: none !important;
}

/* Decision attachments: compact uploader, multiple viewable files underneath. */
.decision-project-body td:has(.decision-upload-cell) {
  height: auto !important;
  vertical-align: top !important;
}

.decision-upload-cell {
  height: auto !important;
  max-height: none !important;
  min-width: 170px !important;
  display: grid !important;
  gap: 6px !important;
  overflow: visible !important;
}

.decision-upload-box {
  min-height: 34px !important;
  height: 34px !important;
  max-height: 34px !important;
}

.decision-attachment-list {
  display: grid !important;
  gap: 5px;
  max-height: 88px;
  overflow: auto;
}

.decision-attachment-link {
  display: inline-flex !important;
  align-items: center;
  min-width: 0;
  max-width: 170px;
  padding: 4px 7px;
  border-radius: 8px;
  background: #f6f8fb;
  color: #415066 !important;
  font-size: 12px !important;
  line-height: 1.35;
  text-decoration: none !important;
  word-break: break-all;
}

.decision-attachment-link:hover {
  background: #fff4f6;
  color: #c21f3b !important;
}

/* Quality issue management */
.quality-shell {
  display: grid;
  gap: 16px;
}

.quality-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 26px;
}

.quality-hero h3 {
  margin: 0 0 8px;
  font-size: 24px;
}

.quality-hero p:not(.eyebrow) {
  margin: 0;
  color: #667085;
}

.quality-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.quality-stat-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 10px;
}

.quality-stat {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: rgba(255, 255, 255, .86);
  padding: 14px 16px;
  box-shadow: 0 14px 34px rgba(71, 85, 105, .08);
}

.quality-stat span {
  display: block;
  color: #667085;
  font-size: 12px;
  margin-bottom: 6px;
}

.quality-stat strong {
  font-size: 24px;
}

.quality-filter-panel {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) repeat(3, 180px);
  gap: 10px;
  padding: 14px;
}

.quality-filter-panel input,
.quality-filter-panel select,
.quality-form-grid input,
.quality-form-grid select,
.quality-edit-form input,
.quality-edit-form select,
.quality-edit-form textarea,
.quality-register-form textarea {
  width: 100%;
  border: 1px solid #d7e0ea;
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  font-size: 14px;
}

.quality-table-wrap {
  display: grid;
  gap: 12px;
}

.quality-card {
  border: 1px solid #dce5ef;
  border-left: 4px solid #8aa0b8;
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  padding: 16px;
  box-shadow: 0 14px 30px rgba(71, 85, 105, .08);
}

.quality-card.gate {
  border-left-color: #d69e2e;
}

.quality-card.closed {
  border-left-color: #64748b;
}

.quality-card.overdue {
  border-left-color: #d92d4b;
}

.quality-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.quality-card > header strong {
  display: block;
  font-size: 17px;
  margin-bottom: 5px;
}

.quality-card > header span {
  color: #667085;
}

.quality-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.quality-badges i {
  font-style: normal;
  border-radius: 999px;
  padding: 5px 9px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  white-space: nowrap;
}

.quality-badges i.gate {
  background: #fff7e6;
  color: #9a6100;
}

.quality-badges i.overdue {
  background: #fff1f4;
  color: #c21f3b;
}

.quality-badges i.closed {
  background: #edf2f7;
  color: #344054;
}

.quality-info-grid,
.quality-detail-grid,
.quality-attachments,
.quality-edit-form,
.quality-form-grid,
.quality-upload-grid {
  display: grid;
  gap: 10px;
}

.quality-info-grid {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.quality-info-grid span,
.quality-detail-grid b,
.quality-attachment-block b,
.quality-progress > b,
.quality-edit-form label > span,
.quality-register-form label > span {
  display: block;
  color: #667085;
  font-size: 12px;
  margin-bottom: 5px;
}

.quality-info-grid strong {
  font-size: 14px;
}

.quality-detail-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  margin-top: 12px;
}

.quality-detail-grid div,
.quality-progress,
.quality-attachment-block {
  border: 1px solid #e5edf5;
  border-radius: 12px;
  padding: 11px;
  background: #fff;
}

.quality-detail-grid p {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.7;
}

.quality-attachments {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  margin-top: 12px;
}

.quality-attachment-block span {
  color: #98a2b3;
  font-size: 13px;
}

.quality-progress {
  margin-top: 12px;
}

.quality-edit-form {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e5edf5;
}

.quality-edit-form .wide {
  grid-column: span 3;
}

.quality-file-line {
  border: 1px dashed #d7e0ea;
  border-radius: 12px;
  padding: 10px;
  background: #fbfdff;
}

.quality-file-line input {
  padding: 0;
  border: 0;
}

.quality-edit-form button {
  align-self: end;
}

.quality-form-grid {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.quality-upload-grid {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.quality-upload-field {
  border: 1px dashed #d7e0ea;
  border-radius: 12px;
  padding: 12px;
  background: #fbfdff;
}

.quality-upload-field input {
  width: 100%;
}

.quality-modal-card {
  max-width: 780px;
}

/* Version release control */
.release-shell {
  display: grid;
  gap: 18px;
}

.release-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
}

.release-hero p:not(.eyebrow) {
  margin: 6px 0 0;
  color: var(--muted);
}

.release-editor {
  display: grid;
  gap: 18px;
  padding: 22px;
}

.release-form-grid {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(360px, 1fr);
  gap: 16px;
}

.release-form-grid label,
.release-feature-card {
  display: grid;
  gap: 8px;
}

.release-form-grid span {
  font-size: 13px;
  color: var(--muted);
}

.release-feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.release-feature-card {
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 35px rgba(38, 48, 66, 0.08);
}

.release-feature-card.published {
  opacity: 0.7;
}

.release-feature-card strong,
.release-history-card strong {
  display: block;
  font-size: 16px;
}

.release-feature-card p,
.release-history-card p,
.release-notice-item p {
  color: var(--muted);
  margin: 6px 0;
  line-height: 1.6;
}

.release-feature-card textarea {
  width: 100%;
  min-height: 72px;
}

.release-feature-card span {
  display: inline-flex;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f7edf0;
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
}

.release-actions {
  display: flex;
  justify-content: flex-end;
}

.release-history {
  display: grid;
  gap: 12px;
}

.release-history-card,
.release-notice-item {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.9);
}

.release-history-card > div,
.release-notice-item > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.release-history-card ul,
.release-notice-item ul {
  margin: 10px 0 0;
  padding-left: 18px;
  line-height: 1.7;
}

.release-notice-card {
  max-width: 680px;
}

.release-notice-card .decision-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.release-notice-card .decision-modal-head > div {
  min-width: 0;
}

.release-notice-card #closeReleaseNotice {
  flex: 0 0 auto;
  min-width: 78px;
  height: 36px;
  margin-left: auto;
  white-space: nowrap;
}

.text-input-dialog-card {
  width: min(520px, 94vw);
}
.text-input-dialog-body {
  display: grid;
  gap: 14px;
  padding-top: 16px;
}
.text-input-dialog-body label {
  display: grid;
  gap: 8px;
  color: #475569;
  font-weight: 700;
}
.text-input-dialog-body textarea {
  width: 100%;
  min-height: 132px;
  resize: vertical;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 12px;
  color: #0f172a;
  font: inherit;
  line-height: 1.5;
}
.text-input-dialog-body textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.text-input-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.release-notice-content {
  display: grid;
  gap: 14px;
  max-height: 58vh;
  overflow: auto;
}

.release-notice-item li b {
  margin-right: 8px;
}

@media (max-width: 1180px) {
  .home-todo-list {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
  .home-workbench-grid,
  .home-hero-card,
  .home-action-row {
    grid-template-columns: 1fr !important;
  }
  .quality-stat-grid,
  .quality-filter-panel,
  .quality-info-grid,
  .quality-detail-grid,
  .quality-attachments,
  .quality-edit-form,
  .quality-form-grid,
  .quality-upload-grid {
    grid-template-columns: 1fr;
  }
  .release-form-grid {
    grid-template-columns: 1fr;
  }
  .quality-edit-form .wide {
    grid-column: auto;
  }
}

/* Final override: quality desk compaction, blue workspace, command/message bar. */
body {
  background:
    radial-gradient(circle at 18% 0%, rgba(127, 174, 232, .18), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(210, 228, 250, .30), transparent 32%),
    linear-gradient(180deg, #f3f8fd 0%, #eef6fb 42%, #f7fbff 100%) !important;
}

.app-command-bar,
.topbar.app-command-bar {
  position: sticky !important;
  top: 0;
  z-index: 60;
  height: 70px !important;
  min-height: 70px !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 520px) 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 10px 26px !important;
  border-bottom: 1px solid rgba(124,151,180,.18) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 28px rgba(46,71,102,.06) !important;
  backdrop-filter: blur(18px);
}
.topbar.app-command-bar h2,
.topbar.app-command-bar .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
}

.command-search { position: relative; }
.command-search input {
  width: 100%;
  height: 42px;
  padding: 0 16px;
  border: 1px solid #d7e4ef;
  border-radius: 12px;
  background: #f8fbfe;
}
.command-search-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 90;
  width: min(520px, 86vw);
  padding: 8px;
  border: 1px solid #d8e4ef;
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 44px rgba(34,58,86,.14);
}
.command-search-results button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 10px 12px;
  color: #1d2b39;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.command-search-results button:hover { background: #edf5ff !important; }
.command-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 12px;
}
.command-btn {
  min-width: 48px;
  height: 44px;
  padding: 0 6px;
  color: #263545 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.command-btn::before {
  font-size: 18px;
  line-height: 1;
}
#refreshToggle::before { content: "↻"; }
#feedbackToggle::before { content: "✎"; }
#messageToggle::before { content: "○"; }
.command-btn:hover {
  color: #d83b55 !important;
  background: transparent !important;
}
.command-user-chip {
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #243444 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
.user-avatar-top {
  width: 42px;
  height: 42px;
  font-size: 16px;
  border: 2px solid rgba(255,255,255,.92);
}
.message-badge {
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  margin-left: 4px;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: #d83b55;
  font-size: 11px;
}
.command-panel {
  position: fixed;
  top: 74px;
  right: 26px;
  z-index: 85;
  width: min(420px, 90vw);
  max-height: calc(100vh - 100px);
  overflow: auto;
  padding: 14px;
  border: 1px solid #d8e4ef;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 60px rgba(34,58,86,.16);
}
.command-panel header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.mail-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.mail-item {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 11px 12px;
  text-align: left;
  color: #253445;
  border: 1px solid #dce8f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}
.mail-item.unread { border-color: #f1b4c0; background: #fff8fa; }
.mail-item span,
.mail-item small { color: #6c7b88; font-size: 12px; }
.toast-stack {
  position: fixed;
  right: 24px;
  bottom: 118px;
  z-index: 120;
  display: grid;
  gap: 10px;
  width: min(320px, 80vw);
}
.app-toast {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  text-align: left;
  color: #243242 !important;
  border: 1px solid #d7e4ef !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 44px rgba(34,58,86,.16) !important;
}
.app-toast span { color: #607080; font-size: 12px; }
.home-hero-card.has-weather-bg {
  background:
    linear-gradient(110deg, rgba(255,255,255,.92), rgba(244,248,253,.86) 52%, rgba(255,255,255,.68)),
    var(--weather-bg) center/cover no-repeat !important;
}
.home-hero-card {
  min-height: 112px !important;
  grid-template-columns: minmax(420px, 1fr) minmax(220px, 300px) !important;
  align-items: stretch !important;
  padding: 14px !important;
  gap: 14px !important;
}
.home-hero-main {
  width: 100%;
  min-height: 84px;
  justify-content: flex-start;
  padding: 14px 18px !important;
  background: rgba(255,255,255,.54) !important;
  border: 0 !important;
}
.home-hero-main h1 {
  font-size: clamp(23px, 2vw, 30px) !important;
}
.home-weather-meta {
  display: grid;
  align-content: center;
  gap: 5px;
  margin-top: 0;
  padding: 14px 18px;
  min-height: 84px;
  border-radius: 16px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(25,37,53,.42), rgba(25,37,53,.18)),
    var(--weather-bg) center/cover no-repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.home-weather-meta span {
  display: block;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 800;
}
.home-weather-meta #welcomeDate {
  font-size: 20px;
  color: #fff;
}
.home-weather-meta span + span::before {
  content: none;
}
.home-weather-card {
  display: none !important;
}
.view:not(.workspace-home) {
  padding-top: 18px !important;
}
.quality-shell { gap: 12px !important; }
.quality-hero {
  min-height: auto !important;
  padding: 18px 20px !important;
  border-left: 0 !important;
  background: rgba(255,255,255,.92) !important;
}
.quality-hero #qualityViewHint { display: none !important; }
.quality-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(112px, 1fr)) !important;
  gap: 10px !important;
}
.quality-stat {
  min-height: 72px !important;
  padding: 12px 14px !important;
  border: 1px solid #d8e5ef !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 24px rgba(46,71,102,.06) !important;
  cursor: pointer;
}
.quality-stat span {
  display: block !important;
  margin: 0 0 8px !important;
  color: #627489 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.quality-stat strong {
  display: block !important;
  color: #1e2d3d !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.quality-stat:hover {
  transform: translateY(-1px);
  border-color: #b8cfe4 !important;
  background: #f8fbff !important;
}
.quality-filter-panel {
  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(140px, 180px)) !important;
  gap: 10px !important;
  padding: 12px !important;
}
.quality-table-panel {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.quality-table-wrap {
  display: grid;
  gap: 12px;
}
.quality-card {
  padding: 12px 14px !important;
  border: 1px solid #dce8f2 !important;
  border-left: 4px solid #8fb7df !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 12px 30px rgba(46,71,102,.07) !important;
}
.quality-card .quality-detail-grid {
  padding: 10px !important;
  border: 1px solid #e2ebf4;
  border-radius: 14px;
  background: #f7fbff;
}
.quality-card .quality-detail-grid::before {
  content: "用户问题 / 固定资料";
  grid-column: 1 / -1;
  color: #617286;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.quality-card.closed { border-left-color: #78b58c !important; }
.quality-card.gate { border-left-color: #e7b45c !important; }
.quality-card.overdue { border-left-color: #d83b55 !important; }
.quality-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #edf2f6;
}
.quality-card > header strong { font-size: 15px !important; }
.quality-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.quality-badges i {
  padding: 4px 8px;
  border-radius: 999px;
  font-style: normal;
  font-size: 12px;
  color: #405265;
  background: #eef5fb;
}
.quality-info-grid {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(86px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
.quality-info-grid div {
  min-width: 0;
  padding: 6px 8px !important;
  border: 1px solid #e4edf5 !important;
  border-radius: 10px !important;
  background: #f9fcff !important;
}
.quality-info-grid span {
  display: block;
  margin-bottom: 3px;
  color: #7c8a98;
  font-size: 11px;
}
.quality-info-grid strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px !important;
}
.quality-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}
.quality-detail-grid div,
.quality-progress,
.quality-attachment-block {
  padding: 9px 10px !important;
  border: 1px solid #e3edf5 !important;
  border-radius: 12px !important;
  background: #fff !important;
}
.quality-detail-grid p {
  margin: 0;
  color: #26384a;
  font-size: 13px;
  line-height: 1.55;
}
.quality-card:not(.quality-register-card) .quality-detail-grid {
  grid-template-columns: minmax(280px, 1fr) !important;
}
.quality-card:not(.quality-register-card) .quality-attachments {
  grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
}
.quality-attachments {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
  gap: 8px !important;
  margin: 8px 0 !important;
}
.quality-edit-form {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(118px, 1fr)) !important;
  gap: 8px !important;
  margin-top: 8px !important;
  padding: 12px !important;
  border: 1px solid #e4dfe7 !important;
  border-radius: 14px !important;
  background: #fffafb !important;
}
.quality-form-head {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0e5e9;
}
.quality-form-head span {
  display: block;
  color: #d83b55;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.quality-form-head strong {
  color: #1f2d3a;
  font-size: 16px;
}
.quality-form-head button {
  min-width: 108px;
}
.quality-edit-form .wide { grid-column: span 3; }
.quality-edit-form textarea {
  min-height: 58px !important;
  resize: vertical;
}
.quality-edit-form input,
.quality-edit-form select,
.quality-edit-form textarea {
  width: 100%;
  border-color: #d8e5ef !important;
  background: #fbfdff !important;
}
.quality-file-line { grid-column: span 3; }
.quality-gate-form {
  grid-template-columns: minmax(140px, 180px) minmax(360px, 1fr) !important;
  align-items: end;
}
.quality-gate-form .wide {
  grid-column: auto !important;
}
input[type="date"],
label:has(input[type="date"]) { cursor: pointer; }

.customer-shell {
  display: grid;
  gap: 14px;
}
.customer-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-left: 4px solid #2f8f83;
}
.customer-hero h3 {
  margin: 0 0 6px;
  font-size: 22px;
}
.customer-hero p {
  margin: 0;
  color: #607083;
}
.customer-actions {
  display: flex;
  align-items: end;
  gap: 10px;
}
.customer-actions label {
  display: grid;
  gap: 5px;
  min-width: 160px;
  color: #617286;
  font-size: 12px;
  font-weight: 800;
}
.customer-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 12px;
}
.customer-form {
  display: grid;
  gap: 10px;
}
.customer-form .form-grid {
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 9px;
}
.customer-form .wide {
  grid-column: 1 / -1;
}
.customer-form textarea {
  min-height: 64px;
  resize: vertical;
}
.customer-form input,
.customer-form select,
.customer-form textarea,
.customer-actions select {
  width: 100%;
  border-color: #dce7ef;
  background: #fbfdff;
}
.customer-data-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.05fr);
  gap: 12px;
}
.customer-list-panel,
.customer-script-panel,
.customer-competitor-panel {
  min-width: 0;
}
.customer-record-list,
.customer-script-list {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
}
.customer-record-card,
.customer-script-card {
  padding: 10px 12px;
  border: 1px solid #e3edf3;
  border-radius: 8px;
  background: #fff;
}
.customer-record-card header,
.customer-script-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.customer-record-card b,
.customer-script-card b {
  color: #2f5f75;
  font-size: 12px;
}
.customer-record-card span,
.customer-script-card span {
  color: #8a98a6;
  font-size: 12px;
}
.customer-record-card strong {
  display: block;
  color: #1f2d3a;
  font-size: 14px;
  line-height: 1.45;
}
.customer-record-card p,
.customer-script-card p {
  margin: 6px 0 0;
  color: #46586a;
  font-size: 13px;
  line-height: 1.55;
}
.customer-record-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.customer-record-badges span {
  padding: 3px 7px;
  border-radius: 999px;
  color: #3d6070;
  background: #eef6f5;
  font-size: 12px;
  font-weight: 800;
}
.customer-script-card em {
  display: block;
  margin-top: 8px;
  color: #c24a57;
  font-size: 12px;
  font-style: normal;
}
.customer-competitor-table table {
  min-width: 980px;
}

.customer-desk-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.customer-summary-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  gap: 10px;
}
.customer-summary-grid article {
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid #e4edf3;
  border-top: 3px solid #c8202f;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(37, 64, 82, 0.08);
}
.customer-summary-grid span {
  display: block;
  color: #5f6c78;
  font-size: 13px;
}
.customer-summary-grid strong {
  display: block;
  margin-top: 8px;
  color: #1f2933;
  font-size: 24px;
  line-height: 1;
}
.customer-main-workarea {
  display: grid;
  grid-template-columns: minmax(330px, 360px) minmax(680px, 1fr);
  gap: 12px;
}
.customer-consult-form .form-grid {
  grid-template-columns: repeat(2, minmax(110px, 1fr));
}
.customer-processing-panel {
  min-width: 0;
}
.customer-processing-panel > .record-header {
  align-items: start;
}
.customer-process-search {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 360px;
}
.customer-process-search .search {
  min-width: 260px;
}
.customer-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  align-items: stretch;
  border: 1px solid #d8e3ec;
  border-radius: 8px;
  overflow: hidden;
}
.customer-mini-form {
  display: grid;
  grid-template-rows: auto 1fr 1fr auto;
  gap: 8px;
  padding: 12px;
  border-right: 1px solid #e2ebf2;
  background: #fff;
}
.customer-mini-form:last-child {
  border-right: 0;
}
.customer-mini-form strong {
  margin-bottom: 4px;
  color: #1f2933;
  font-size: 14px;
  text-align: center;
}
.customer-mini-form label {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}
.customer-mini-form label span {
  color: #526272;
  font-size: 12px;
}
.customer-mini-form input,
.customer-mini-form select {
  width: 100%;
  min-height: 32px;
  border: 1px solid #d8e4ed;
  border-radius: 6px;
  background: #fbfdff;
}
.customer-mini-form button {
  justify-self: center;
  align-self: end;
  min-width: 80px;
  margin-top: auto;
}
.customer-ledger-section {
  display: grid;
}
.customer-list-panel {
  overflow: hidden;
}
.customer-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-width: 720px;
}
.customer-filter-bar .search {
  min-width: 300px;
}
.customer-filter-bar label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #617286;
  font-size: 12px;
  font-weight: 800;
}
.customer-filter-bar input[type="number"] {
  width: 74px;
}
.customer-chase-filter {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border: 1px solid #d8e4ed;
  border-radius: 8px;
  background: #fff;
}
.customer-process-info {
  display: grid;
  grid-template-columns: 78px 112px 70px 112px minmax(260px, 1fr) 78px 168px 90px minmax(260px, 1.2fr) minmax(260px, 1.2fr) 82px 82px minmax(260px, 1.2fr);
  gap: 6px;
  margin: 6px 0 10px;
  padding: 8px;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: #f8fbfd;
  color: #4a5d70;
  font-size: 12px;
}
.customer-process-info.is-empty {
  color: #8a6a2a;
  background: #fffaf0;
}
.customer-process-info span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 6px 7px;
  border: 1px solid #e1ebf2;
  border-radius: 6px;
  background: #fff;
}
.customer-process-field-5 { grid-column: span 2; }
.customer-process-field-7,
.customer-process-field-8,
.customer-process-field-9,
.customer-process-field-10,
.customer-process-field-13 {
  min-height: 74px;
  white-space: pre-wrap;
}
.customer-process-field-11,
.customer-process-field-12 {
  min-height: 34px;
}
.customer-process-info b {
  display: block;
  margin-bottom: 2px;
  color: #2f4050;
  font-size: 11px;
}
.handover-reason {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  align-items: start;
}
.handover-reason.done span {
  color: #8795a3;
  text-decoration: line-through;
}
.handover-reason button {
  padding: 3px 7px;
  border: 1px solid #d9e5ed;
  border-radius: 6px;
  color: #3d6070;
  background: #f7fbfd;
  font-size: 12px;
}
.customer-ledger-table {
  width: 100%;
  overflow: auto;
}
.customer-ledger-table table {
  min-width: 1860px;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 12px;
}
.customer-ledger-col-1 { width: 86px; }
.customer-ledger-col-2 { width: 124px; }
.customer-ledger-col-3 { width: 70px; }
.customer-ledger-col-4 { width: 116px; }
.customer-ledger-col-5 { width: 300px; }
.customer-ledger-col-6 { width: 74px; }
.customer-ledger-col-7 { width: 130px; }
.customer-ledger-col-7 { width: 188px; }
.customer-ledger-col-8 { width: 88px; }
.customer-ledger-col-9 { width: 300px; }
.customer-ledger-col-10 { width: 300px; }
.customer-ledger-col-11 { width: 76px; }
.customer-ledger-col-12 { width: 88px; }
.customer-ledger-col-13 { width: 260px; }
.customer-ledger-table th,
.customer-ledger-table td {
  padding: 7px 8px;
  border: 1px solid #d9e4ec;
  vertical-align: top;
  line-height: 1.45;
}
.customer-ledger-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #203040;
  background: #f3f8fb;
  font-weight: 900;
}
.customer-ledger-table td {
  max-height: 80px;
  overflow: hidden;
  color: #334557;
  background: #fff;
  word-break: break-word;
}
.customer-ledger-table td.locked-cell {
  color: #2f3d4a;
  background: #f2f5f8;
  font-weight: 800;
}
.customer-chase-cell {
  display: grid;
  gap: 5px;
}
.customer-progress-list {
  max-height: none;
  margin: 0;
  overflow: visible;
  color: #2f4050;
  font-family: inherit;
  white-space: pre-wrap;
  line-height: 1.55;
}
.customer-chase-cell form {
  display: block;
}
.customer-chase-cell input {
  min-height: 28px;
  border: 0;
  border-bottom: 1px solid #b9c8d4;
  border-radius: 0;
  background: transparent;
  outline: none;
}
.customer-ledger-table td:nth-child(5),
.customer-ledger-table td:nth-child(9),
.customer-ledger-table td:nth-child(10),
.customer-ledger-table td:nth-child(13) {
  white-space: pre-wrap;
}
.customer-wangwang-cell {
  display: grid;
  gap: 3px;
  align-content: start;
}
.customer-wangwang-cell strong {
  font-size: 12px;
}
.customer-wangwang-cell em {
  width: fit-content;
  padding: 1px 6px;
  border-radius: 999px;
  color: #8a4b08;
  background: #fff3d8;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
}
.handover-reason {
  grid-template-columns: minmax(0, 1fr);
}
.handover-reason button {
  justify-self: start;
  margin-top: 3px;
}
.quality-card-list {
  display: grid;
  gap: 10px;
}
.quality-record-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 12px;
  padding: 12px;
  border: 1px solid #dbe7ef;
  border-radius: 8px;
  background: #fff;
}
.quality-record-main {
  display: grid;
  grid-template-columns: 120px 120px 100px 180px 90px minmax(220px, 1fr) 100px minmax(220px, 1fr) 90px;
  gap: 6px;
}
.quality-record-main span {
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid #edf2f6;
  border-radius: 6px;
  background: #fbfdff;
  word-break: break-word;
}
.quality-record-main b {
  display: block;
  margin-bottom: 2px;
  color: #5d6b78;
  font-size: 11px;
}
.quality-inline-form {
  display: grid;
  gap: 7px;
}
.quality-inline-form input,
.quality-inline-form textarea,
.quality-inline-form select {
  width: 100%;
  min-height: 30px;
  border: 1px solid #d8e4ed;
  border-radius: 6px;
  background: #fbfdff;
}
.copy-toast {
  position: fixed;
  top: 18px;
  left: 50%;
  z-index: 9999;
  transform: translateX(-50%) translateY(-12px);
  padding: 8px 16px;
  border-radius: 999px;
  color: #fff;
  background: rgba(31, 48, 64, 0.92);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.copy-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.customer-script-card,
.customer-competitor-table td {
  cursor: copy;
}

/* 2026-06-29 app compatibility polish */
.quality-issue-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  border: 1px solid #dbe7f1;
  border-radius: 10px;
  overflow: hidden;
}

.quality-issue-table th,
.quality-issue-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e7eef6;
  text-align: left;
  vertical-align: top;
  font-size: 13px;
  line-height: 1.45;
}

.quality-issue-table th {
  color: #25364a;
  background: #f5f9fd;
  font-weight: 800;
}

.quality-issue-table td {
  color: #2d3a4a;
  word-break: break-word;
}

.quality-action-cell {
  width: 240px;
}

.quality-inline-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  min-width: 210px;
}

.quality-inline-form textarea,
.quality-inline-form input,
.quality-inline-form select {
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #cfdeea;
  border-radius: 6px;
  background: #fff;
  font-size: 13px;
}

.quality-inline-form button {
  justify-self: start;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 6px;
}

.decision-check,
.decision-check-cell input,
.decision-project-body th input {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  accent-color: #1769d8;
}

.decision-attachment-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 130px;
}

.decision-attachment-plus {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border: 1px solid #cfdbe8 !important;
  border-radius: 4px !important;
  background: #eef3f8 !important;
  color: #607084 !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 20px !important;
}

.decision-attachment-cell small {
  min-width: 0;
  color: #6a7788;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#decisionTaskTable textarea[data-decision-field] {
  min-width: 150px;
  min-height: 52px;
  resize: vertical;
}

#decisionTaskTable textarea[data-decision-field="\6700\65b0\8fdb\5c55\8bb0\5f55"] {
  min-width: 180px;
  min-height: 64px;
}

/* v255: decision table wraps content, progress uses underline input, board becomes a dashboard. */
#decisionTaskTable .decision-content-td {
  min-width: 260px;
  max-width: 420px;
}

#decisionTaskTable .decision-work-content {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.decision-purpose-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 92px;
  font-weight: 800;
  color: #44546a;
  white-space: nowrap;
}

.decision-purpose-check input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  padding: 0 !important;
  accent-color: #2f75e8;
}

.decision-purpose-check.is-locked,
.decision-purpose-check:has(input:disabled) {
  color: #8a96a8 !important;
}

.decision-purpose-check input:disabled {
  cursor: not-allowed !important;
  opacity: .55 !important;
  filter: grayscale(1) !important;
}

#decisionTaskTable .decision-content-th,
#decisionTaskTable .decision-content-td {
  position: sticky !important;
  left: 0 !important;
  z-index: 6 !important;
  background: #fff !important;
  box-shadow: 1px 0 0 #dfe8f2, 10px 0 18px rgba(32, 45, 64, .06) !important;
}

#decisionTaskTable .decision-content-th {
  z-index: 8 !important;
  background: #f5f8fc !important;
}

#decisionTaskTable select:disabled {
  background: #f1f4f8 !important;
  color: #9aa6b5 !important;
  cursor: not-allowed;
}

#decisionTaskTable tr.decision-row-reissued td {
  background: #f7f8fa !important;
  color: #8a95a5 !important;
}

#decisionTaskTable tr.decision-row-reissued .decision-work-content,
#decisionTaskTable tr.decision-row-reissued .decision-progress-log,
#decisionTaskTable tr.decision-row-reissued .decision-progress-log span {
  color: #8a95a5 !important;
}

.decision-delay-badge {
  display: inline-flex;
  align-items: center;
  height: 18px;
  margin-left: 8px;
  padding: 0 6px;
  border: 1px solid #f0a9b5;
  border-radius: 999px;
  background: #fff2f4;
  color: #c9233f;
  font-size: 12px;
  font-weight: 800;
  vertical-align: middle;
}

#decisionTaskTable .decision-progress-td {
  min-width: 220px;
}

.decision-progress-log {
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  color: #34445a;
  font-size: 13px;
  line-height: 1.55;
}

.decision-progress-log p {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 8px;
  margin: 0;
}

.decision-progress-log p.no-time {
  grid-template-columns: minmax(0, 1fr);
}

.decision-progress-log time {
  color: #738298;
  font-size: 12px;
  white-space: nowrap;
}

.decision-progress-log span {
  min-width: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.decision-progress-empty {
  margin-bottom: 6px;
  color: #8b98aa;
  font-size: 12px;
}

.decision-progress-line-input,
#decisionTaskTable .decision-progress-line-input {
  min-width: 180px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #b9c9dc !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#decisionTaskTable .decision-progress-line-input:focus {
  outline: 0;
  border-bottom-color: #2f75e8 !important;
}

.decision-reminder {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef4fb;
  color: #43536a;
  font-weight: 800;
  white-space: nowrap;
}

.decision-reminder.late {
  background: #fff0f3 !important;
  color: #d91f3a !important;
  border: 1px solid #f2a6b4;
}

.decision-reminder.today {
  background: #fff7df;
  color: #9a6400;
}

.decision-reminder.done {
  background: #eaf8ef;
  color: #168149;
}

.decision-assessment-panel {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.decision-assessment-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.decision-assessment-panel h3 {
  margin: 0;
  color: #172033;
  font-size: 18px;
}

.decision-assessment {
  overflow: auto;
}

.decision-assessment-filters {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-radius: 12px;
  background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}

.decision-assessment-filters label {
  display: grid;
  gap: 5px;
  min-width: 150px;
}

.decision-assessment-filters span {
  color: #40506a;
  font-size: 12px;
  font-weight: 800;
}

.decision-assessment-filters input {
  height: 36px;
  padding: 0 10px;
  border: 1px solid #cdd9e6;
  border-radius: 9px;
  background: #fff;
  color: #172033;
}

.decision-assessment-filters em {
  margin-left: auto;
  color: #607087;
  font-style: normal;
  font-weight: 800;
  line-height: 36px;
}


.decision-assessment table {
  width: 100%;
  min-width: 1040px;
  table-layout: fixed;
  border-collapse: collapse;
}

.decision-assessment th:nth-child(1),
.decision-assessment td:nth-child(1) { width: 86px; }
.decision-assessment th:nth-child(2),
.decision-assessment td:nth-child(2) { width: 130px; }
.decision-assessment th:nth-child(3),
.decision-assessment td:nth-child(3) { width: 92px; }
.decision-assessment th:nth-child(4),
.decision-assessment td:nth-child(4) { width: 92px; text-align: center; }
.decision-assessment th:nth-child(5),
.decision-assessment td:nth-child(5) { width: 82px; text-align: center; }
.decision-assessment th:nth-child(6),
.decision-assessment td:nth-child(6) { width: 86px; text-align: center; }

.decision-assessment th,
.decision-assessment td {
  padding: 9px 12px;
  border-bottom: 1px solid #e3ebf3;
  vertical-align: top;
  text-align: left;
}

.decision-assessment th {
  background: #f6f8fb;
  color: #40506a;
  font-weight: 800;
  white-space: nowrap;
}

.decision-assessment-group-start td {
  border-top: 2px solid #d7e3ee;
}

.decision-assessment tbody tr:first-child td {
  border-top: 0;
}

.decision-assessment-score {
  color: #d91f3a;
  font-weight: 900;
}

.decision-assessment-details {
  margin: 0;
  padding-left: 22px;
  color: #27364a;
}

.decision-assessment-details li {
  margin: 0 0 6px;
  line-height: 1.5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.decision-assessment-details span {
  word-break: break-word;
}

.decision-assessment-details em {
  margin-left: 8px;
  color: #d91f3a;
  font-style: normal;
  font-weight: 800;
}

.decision-dashboard {
  display: grid;
  gap: 16px;
}

.decision-dash-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 12px;
}

.decision-dash-card {
  min-height: 86px;
  padding: 14px 16px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.decision-dash-card span {
  display: block;
  color: #65758a;
  font-size: 13px;
  font-weight: 800;
}

.decision-dash-card strong {
  display: block;
  margin-top: 10px;
  color: #172033;
  font-size: 30px;
  line-height: 1;
}

.decision-dash-card.blue { border-color: #bcd5ff; }
.decision-dash-card.red { border-color: #f2b4bf; }
.decision-dash-card.amber { border-color: #f0d58b; }
.decision-dash-card.green { border-color: #a9dfc2; }

.decision-dash-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
}

.decision-dash-panel {
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.decision-dash-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.decision-dash-panel h4 {
  margin: 0;
  color: #172033;
  font-size: 15px;
}

.decision-dash-panel header span {
  color: #64748b;
  font-weight: 800;
}

.decision-dash-task,
.decision-dash-row {
  width: 100%;
  margin: 0 0 8px;
  padding: 10px 12px;
  border: 1px solid #e0e8f2;
  border-radius: 8px;
  background: #f9fbfd;
  color: #263448;
  text-align: left;
  box-shadow: none;
}

.decision-dash-task.late {
  border-color: #f1b9c3;
  background: #fff6f7;
}

.decision-dash-task b,
.decision-dash-row b {
  display: block;
  white-space: normal;
  word-break: break-word;
}

.decision-dash-task small {
  display: block;
  margin-top: 5px;
  color: #69788d;
}

.decision-dash-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 78px;
  gap: 8px;
  align-items: center;
}

.decision-dash-row time,
.decision-dash-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .decision-dash-metrics {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
  .decision-dash-grid {
    grid-template-columns: 1fr;
  }
}

.customer-process-info {
  grid-template-columns: 80px 130px 78px 130px minmax(120px, .8fr) minmax(120px, .8fr) minmax(140px, .9fr) minmax(140px, .9fr) 80px 92px 150px minmax(220px, 1.2fr) !important;
  grid-auto-rows: minmax(42px, auto);
  gap: 6px !important;
  align-items: stretch !important;
}

.customer-process-info span {
  display: block;
  min-height: 42px;
  white-space: normal !important;
  line-height: 1.35;
}

.customer-process-field-1 { grid-column: 1; grid-row: 1; }
.customer-process-field-2 { grid-column: 2; grid-row: 1; }
.customer-process-field-3 { grid-column: 3; grid-row: 1; }
.customer-process-field-4 { grid-column: 4; grid-row: 1; }
.customer-process-field-5 { grid-column: 5 / 9 !important; grid-row: 1; min-width: 320px; }
.customer-process-field-6 { grid-column: 9; grid-row: 1; }
.customer-process-field-7 { grid-column: 1 / 3; grid-row: 2; }
.customer-process-field-8 { grid-column: 3; grid-row: 2; }
.customer-process-field-9 { grid-column: 4 / 7; grid-row: 2; }
.customer-process-field-10 { grid-column: 7 / 10; grid-row: 2; }
.customer-process-field-11 { grid-column: 10; grid-row: 2; align-self: start; }
.customer-process-field-12 { grid-column: 10; grid-row: 2; align-self: end; }
.customer-process-field-13 { grid-column: 11 / 13; grid-row: 2; }

.customer-process-field-7,
.customer-process-field-8,
.customer-process-field-9,
.customer-process-field-10,
.customer-process-field-13 {
  min-height: 86px !important;
}

.customer-process-field-11,
.customer-process-field-12 {
  min-height: 40px !important;
}

.customer-mini-form {
  grid-template-rows: auto 1fr auto !important;
  min-height: 184px;
}

.customer-mini-form button {
  align-self: end !important;
  justify-self: center !important;
  min-width: 82px;
  min-height: 38px;
}

.customer-ledger-col-7 {
  width: 225px !important;
}

#customerRecentRecords td {
  vertical-align: top !important;
}

#customerRecentRecords td:nth-child(7) {
  min-width: 225px;
  white-space: normal;
  word-break: break-all;
}

.customer-chase-cell {
  display: grid;
  gap: 6px;
  align-content: start;
}

.customer-chase-cell .customer-progress-list,
.handover-reason span {
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 1.45;
  white-space: pre-wrap;
}

.customer-chase-cell form input[name] {
  width: 100%;
  min-height: 26px;
  padding: 2px 0 4px;
  border: 0;
  border-bottom: 1px solid #bfd0df;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.handover-reason {
  display: grid !important;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 4px !important;
  min-height: 0;
}

.handover-reason button {
  align-self: end;
  justify-self: start;
  padding: 3px 8px;
  border-radius: 5px;
  font-size: 12px;
}

/* Customer desk compact two-row layout */
.customer-process-search {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 36px;
  align-items: center;
  gap: 8px;
}

.customer-search-icon {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 1px solid #cddae6 !important;
  border-radius: 8px !important;
  color: #2f4050 !important;
  background: #f3f7fb !important;
  box-shadow: none !important;
  font-size: 15px !important;
}

.customer-process-info {
  width: 100%;
  grid-template-columns: 112px 112px 64px 120px minmax(0, 1fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, .9fr) 70px 86px 110px minmax(0, 1fr) !important;
  grid-auto-rows: minmax(34px, auto) minmax(74px, auto) !important;
  gap: 4px 6px !important;
  margin: 4px 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: hidden;
}

.customer-process-info span {
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 4px 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden;
  color: #314252;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word;
}

.customer-process-info b {
  margin-bottom: 2px !important;
  color: #1f2d3d !important;
  font-size: 12px !important;
  line-height: 1.15;
}

.customer-process-field-1,
.customer-process-field-2,
.customer-process-field-3,
.customer-process-field-4,
.customer-process-field-6 {
  white-space: nowrap !important;
  word-break: keep-all !important;
}

.customer-process-field-1 { grid-column: 1; grid-row: 1; }
.customer-process-field-2 { grid-column: 2; grid-row: 1; }
.customer-process-field-3 { grid-column: 3; grid-row: 1; }
.customer-process-field-4 { grid-column: 4; grid-row: 1; }
.customer-process-field-5 { grid-column: 5 / 9 !important; grid-row: 1; min-width: 0 !important; }
.customer-process-field-6 { grid-column: 9; grid-row: 1; }
.customer-process-field-7 { grid-column: 1 / 3; grid-row: 2; }
.customer-process-field-8 { grid-column: 3; grid-row: 2; }
.customer-process-field-9 { grid-column: 4 / 7; grid-row: 2; }
.customer-process-field-10 { grid-column: 7 / 10; grid-row: 2; }
.customer-process-field-11 { grid-column: 10; grid-row: 2; align-self: start; }
.customer-process-field-12 { grid-column: 10; grid-row: 2; align-self: end; }
.customer-process-field-13 { grid-column: 11 / 13; grid-row: 2; }

.customer-process-field-7,
.customer-process-field-8,
.customer-process-field-9,
.customer-process-field-10,
.customer-process-field-13 {
  min-height: 74px !important;
}

.customer-process-field-11,
.customer-process-field-12 {
  min-height: 35px !important;
}

.customer-after-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}

.customer-after-row label {
  grid-template-columns: 58px minmax(0, 1fr) !important;
}

.customer-mini-form {
  min-height: 160px !important;
  gap: 7px !important;
}

.customer-ledger-table table {
  min-width: 1580px !important;
  table-layout: fixed;
}

.customer-ledger-col-1 { width: 76px !important; }
.customer-ledger-col-2 { width: 108px !important; }
.customer-ledger-col-3 { width: 58px !important; }
.customer-ledger-col-4 { width: 104px !important; }
.customer-ledger-col-5 { width: 220px !important; }
.customer-ledger-col-6 { width: 58px !important; }
.customer-ledger-col-7 { width: 174px !important; }
.customer-ledger-col-8 { width: 72px !important; }
.customer-ledger-col-9 { width: 205px !important; }
.customer-ledger-col-10 { width: 205px !important; }
.customer-ledger-col-11 { width: 58px !important; }
.customer-ledger-col-12 { width: 70px !important; }
.customer-ledger-col-13 { width: 210px !important; }

.customer-ledger-table th,
.customer-ledger-table td {
  height: auto !important;
  min-height: 0 !important;
  padding: 5px 6px !important;
  vertical-align: top !important;
  line-height: 1.32 !important;
}

.customer-order-list {
  white-space: pre-wrap;
  word-break: break-all;
  line-height: 1.32;
}

.customer-chase-cell {
  display: grid !important;
  align-content: start !important;
  gap: 2px !important;
  min-height: 0 !important;
}

.customer-progress-list {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1.32 !important;
  white-space: pre-wrap !important;
}

.customer-chase-cell form {
  margin: 0 !important;
}

.customer-chase-cell form input[name] {
  min-height: 23px !important;
  padding: 1px 0 3px !important;
  line-height: 1.2 !important;
}

.handover-reason {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.handover-reason + .handover-reason {
  margin-top: 2px !important;
}

.handover-reason span {
  line-height: 1.32 !important;
}

.handover-reason button {
  margin: 0 !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
}

@media (max-width: 1280px) {
  .quality-stat-grid,
  .quality-info-grid,
  .quality-attachments {
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
  }
  .quality-filter-panel,
  .quality-edit-form,
  .customer-entry-grid,
  .customer-data-grid,
  .customer-desk-grid,
  .customer-main-workarea,
  .customer-process-grid,
  .app-command-bar,
  .topbar.app-command-bar {
    grid-template-columns: 1fr !important;
  }
  .customer-summary-grid,
  .customer-process-info {
    grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
  }
}

/* Keep the customer process desk compact in the desktop app viewport. */
.customer-process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.customer-process-info {
  grid-template-columns: 112px 112px 64px 120px minmax(0, 1fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, .9fr) 70px 86px 110px minmax(0, 1fr) !important;
}

.customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
.customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
.customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
.customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
.customer-process-field-5 { grid-column: 5 / 9 !important; grid-row: 1 !important; }
.customer-process-field-6 { grid-column: 9 !important; grid-row: 1 !important; }
.customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
.customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
.customer-process-field-9 { grid-column: 4 / 7 !important; grid-row: 2 !important; }
.customer-process-field-10 { grid-column: 7 / 10 !important; grid-row: 2 !important; }
.customer-process-field-11 { grid-column: 10 !important; grid-row: 2 !important; align-self: start !important; }
.customer-process-field-12 { grid-column: 10 !important; grid-row: 2 !important; align-self: end !important; }
.customer-process-field-13 { grid-column: 11 / 13 !important; grid-row: 2 !important; }

/* Restore the original quality registration card layout. */
.quality-table-wrap {
  display: grid !important;
  gap: 14px !important;
}

.quality-info-grid {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(120px, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}

.quality-info-grid span {
  min-height: 48px;
  padding: 8px 10px !important;
  border: 1px solid #dce8f2 !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
  color: #1f2d3d !important;
  font-weight: 800;
  line-height: 1.35;
  word-break: break-word;
}

.quality-info-grid span b {
  display: block;
  margin-bottom: 3px;
  color: #65778a;
  font-size: 12px;
  font-weight: 800;
}

.quality-card .quality-detail-grid {
  grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.quality-card .quality-detail-grid div,
.quality-card .quality-progress {
  min-height: 64px;
  border-radius: 10px !important;
}

.quality-card .quality-progress p {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.55;
}

.quality-card .quality-action-cell {
  width: auto !important;
  margin-top: 10px;
}

/* Customer desk final polish: compact app-first layout. */
.customer-processing-panel {
  padding-bottom: 12px !important;
}

.customer-search-icon {
  position: relative;
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 1px solid #d9dee7 !important;
  border-radius: 4px !important;
  background: #f8fafc !important;
  color: #172033 !important;
  box-shadow: none !important;
}

.customer-search-icon span {
  position: relative;
  width: 13px;
  height: 13px;
  border: 2px solid #263445;
  border-radius: 50%;
}

.customer-search-icon span::after {
  content: "";
  position: absolute;
  right: -6px;
  bottom: -5px;
  width: 8px;
  height: 2px;
  border-radius: 99px;
  background: #263445;
  transform: rotate(45deg);
  transform-origin: left center;
}

.customer-process-info {
  grid-template-columns: 76px 104px 64px 110px minmax(220px, 1fr) 70px 82px 82px 150px 82px minmax(190px, .9fr) minmax(190px, .9fr) minmax(240px, 1.15fr) !important;
  grid-auto-rows: minmax(50px, auto) minmax(92px, auto) !important;
  gap: 6px !important;
  min-height: 150px;
  margin: 6px 0 12px !important;
  padding: 8px !important;
  border: 1px solid #d7e3ee !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
  overflow: hidden !important;
}

.customer-process-info span {
  min-height: 48px !important;
  padding: 6px 8px !important;
  border: 1px solid #e0eaf3 !important;
  border-radius: 6px !important;
  background: #fff !important;
  line-height: 1.28 !important;
}

.customer-process-info b {
  margin-bottom: 3px !important;
  font-size: 12px !important;
}

.customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
.customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
.customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
.customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
.customer-process-field-5 { grid-column: 5 !important; grid-row: 1 !important; }
.customer-process-field-6 { grid-column: 6 !important; grid-row: 1 !important; }
.customer-process-field-11 { grid-column: 7 !important; grid-row: 1 !important; align-self: stretch !important; }
.customer-process-field-12 { grid-column: 8 !important; grid-row: 1 !important; align-self: stretch !important; }
.customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
.customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
.customer-process-field-9 { grid-column: 4 / 7 !important; grid-row: 2 !important; }
.customer-process-field-10 { grid-column: 7 / 11 !important; grid-row: 2 !important; }
.customer-process-field-13 { grid-column: 11 / 14 !important; grid-row: 2 !important; }

.customer-process-field-7,
.customer-process-field-9,
.customer-process-field-10,
.customer-process-field-13 {
  min-height: 88px !important;
}

.customer-process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  border-color: #d7e3ee !important;
  border-radius: 8px !important;
}

.customer-mini-form {
  min-height: 190px !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  gap: 8px !important;
  padding: 12px !important;
}

.customer-mini-form label,
.customer-after-row {
  align-self: center;
}

.customer-mini-form input,
.customer-mini-form select {
  min-height: 34px !important;
  border-radius: 5px !important;
}

.customer-mini-form button.primary,
.customer-mini-form .primary.compact-btn {
  align-self: end !important;
  justify-self: center !important;
  min-width: 70px !important;
  min-height: 32px !important;
  padding: 0 16px !important;
  border: 1px solid #d6e1eb !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #2d3b4a !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

.customer-mini-form button.primary:hover,
.customer-mini-form .primary.compact-btn:hover {
  border-color: #b8cad8 !important;
  background: #f7fafc !important;
}

.customer-filter-bar {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  min-width: 0 !important;
}

.customer-filter-bar .search {
  min-width: 300px;
  margin-right: 8px;
}

.customer-chase-filter {
  display: contents !important;
}

.customer-filter-bar button.secondary,
.customer-filter-bar .compact-btn,
.customer-filter-bar label {
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid #e3e8ef !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.customer-filter-bar button.secondary:first-of-type {
  border-left: 1px solid #e3e8ef !important;
  border-radius: 4px 0 0 4px !important;
}

.customer-filter-bar button.secondary:last-child {
  border-radius: 0 4px 4px 0 !important;
}

.customer-filter-bar label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.customer-filter-bar input[type="number"] {
  width: 44px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 6px !important;
  border: 1px solid #dbe3ec !important;
  border-radius: 3px !important;
}

.customer-ledger-table table {
  min-width: 1480px !important;
  border-collapse: collapse !important;
}

.customer-ledger-col-1 { width: 66px !important; }
.customer-ledger-col-2 { width: 96px !important; }
.customer-ledger-col-3 { width: 54px !important; }
.customer-ledger-col-4 { width: 96px !important; }
.customer-ledger-col-5 { width: 190px !important; }
.customer-ledger-col-6 { width: 54px !important; }
.customer-ledger-col-7 { width: 160px !important; }
.customer-ledger-col-8 { width: 68px !important; }
.customer-ledger-col-9 { width: 190px !important; }
.customer-ledger-col-10 { width: 190px !important; }
.customer-ledger-col-11 { width: 52px !important; }
.customer-ledger-col-12 { width: 62px !important; }
.customer-ledger-col-13 { width: 200px !important; }

.customer-ledger-table th,
.customer-ledger-table td {
  padding: 3px 6px !important;
  line-height: 1.18 !important;
  vertical-align: top !important;
}

.customer-ledger-table td {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.customer-progress-list {
  line-height: 1.18 !important;
}

.customer-progress-list:empty {
  display: none;
}

.customer-chase-cell {
  height: 100%;
  min-height: 72px !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  gap: 0 !important;
  align-content: stretch !important;
}

.customer-chase-cell form {
  align-self: end !important;
  margin-top: 4px !important;
}

.customer-chase-cell form input[name] {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 0 3px !important;
}

.handover-reason {
  display: block !important;
  line-height: 1.18 !important;
}

.handover-reason + .handover-reason {
  margin-top: 0 !important;
}

.handover-reason span {
  display: block;
  line-height: 1.18 !important;
}

.handover-reason button {
  display: block;
  margin-top: 3px !important;
}

.customer-maintenance-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin: 10px 0 12px;
  padding: 10px;
  border: 1px solid #dfe7ef;
  border-radius: 8px;
  background: #fbfdff;
}

.customer-maintenance-form input,
.customer-maintenance-form textarea {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #d6e1eb;
  border-radius: 5px;
  background: #fff;
  color: #233142;
  font-size: 13px;
}

.customer-maintenance-form textarea {
  grid-column: span 2;
  resize: vertical;
}

.competitor-maintenance-form {
  grid-template-columns: repeat(5, minmax(110px, 1fr));
}

.competitor-maintenance-form textarea {
  grid-column: span 2;
}

.customer-maintenance-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.customer-maintenance-actions .compact-btn,
.customer-edit-link {
  min-height: 30px !important;
  padding: 0 12px !important;
  border: 1px solid #d9e2ec !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #2d3b4a !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.customer-script-card {
  position: relative;
}

.customer-script-card .customer-edit-link {
  position: absolute;
  right: 10px;
  bottom: 8px;
}

.customer-highlight,
.customer-script-card mark,
.customer-competitor-table mark {
  padding: 0 2px;
  border-radius: 3px;
  background: #fff1a8;
  color: inherit;
}

.customer-competitor-table th:last-child,
.customer-competitor-table td:last-child {
  width: 68px;
  text-align: center;
}

/* Customer desk reset after v20: fill the area cleanly, no forced tall rows. */
.customer-processing-panel .record-header.compact {
  align-items: start !important;
}

.customer-processing-panel .customer-process-search {
  grid-template-columns: minmax(260px, 1fr) 42px !important;
  gap: 6px !important;
}

.customer-processing-panel .customer-search-icon,
.customer-processing-panel button.customer-search-icon.secondary {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #1f2937 !important;
  box-shadow: none !important;
}

.customer-processing-panel .customer-search-icon span {
  border-color: #1f2937 !important;
}

.customer-processing-panel .customer-search-icon span::after {
  background: #1f2937 !important;
}

.customer-processing-panel .customer-process-info {
  display: grid !important;
  grid-template-columns: 76px 104px 64px 110px repeat(5, minmax(0, 1fr)) 70px 82px 86px !important;
  grid-template-rows: minmax(48px, auto) minmax(86px, auto) !important;
  gap: 6px !important;
  min-height: 146px !important;
  padding: 8px !important;
  border: 1px solid #d9e5ef !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
}

.customer-processing-panel .customer-process-info span {
  display: block !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 6px 8px !important;
  border: 1px solid #dde8f2 !important;
  border-radius: 6px !important;
  background: #fff !important;
  overflow: hidden !important;
  line-height: 1.24 !important;
}

.customer-processing-panel .customer-process-info b {
  display: block !important;
  margin: 0 0 4px !important;
  color: #1f2d3d !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-5 { grid-column: 5 / 10 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-6 { grid-column: 10 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-11 { grid-column: 11 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-12 { grid-column: 12 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-9 { grid-column: 4 / 7 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-10 { grid-column: 7 / 10 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-13 { grid-column: 10 / 13 !important; grid-row: 2 !important; }

.customer-processing-panel .customer-process-field-7,
.customer-processing-panel .customer-process-field-9,
.customer-processing-panel .customer-process-field-10,
.customer-processing-panel .customer-process-field-13 {
  min-height: 86px !important;
}

.customer-list-panel .record-header {
  align-items: start !important;
}

.customer-list-panel .customer-filter-bar {
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) repeat(4, auto) !important;
  align-items: center !important;
  gap: 0 !important;
  width: min(680px, 100%) !important;
  min-width: 0 !important;
}

.customer-list-panel .customer-filter-bar .search {
  min-width: 0 !important;
  width: 100% !important;
  margin-right: 8px !important;
}

.customer-list-panel .customer-chase-filter {
  display: contents !important;
}

.customer-list-panel .customer-filter-bar button.secondary,
.customer-list-panel .customer-filter-bar label {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.customer-list-panel .customer-filter-bar button.secondary:first-of-type {
  border-left: 1px solid #e2e8f0 !important;
  border-radius: 4px 0 0 4px !important;
}

.customer-list-panel .customer-filter-bar button.secondary:last-child {
  border-radius: 0 4px 4px 0 !important;
}

.customer-list-panel .customer-filter-bar label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.customer-list-panel .customer-filter-bar input[type="number"] {
  width: 42px !important;
  height: 24px !important;
  min-height: 24px !important;
}

.customer-ledger-table table {
  min-width: 1420px !important;
}

.customer-ledger-col-1 { width: 66px !important; }
.customer-ledger-col-2 { width: 92px !important; }
.customer-ledger-col-3 { width: 54px !important; }
.customer-ledger-col-4 { width: 94px !important; }
.customer-ledger-col-5 { width: 180px !important; }
.customer-ledger-col-6 { width: 52px !important; }
.customer-ledger-col-7 { width: 154px !important; }
.customer-ledger-col-8 { width: 66px !important; }
.customer-ledger-col-9 { width: 176px !important; }
.customer-ledger-col-10 { width: 176px !important; }
.customer-ledger-col-11 { width: 52px !important; }
.customer-ledger-col-12 { width: 60px !important; }
.customer-ledger-col-13 { width: 190px !important; }

.customer-ledger-table th,
.customer-ledger-table td {
  padding: 2px 5px !important;
  line-height: 1.12 !important;
  vertical-align: top !important;
}

.customer-ledger-table tbody tr {
  height: auto !important;
}

.customer-ledger-table td {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.customer-ledger-table .customer-chase-cell {
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 4px !important;
}

.customer-ledger-table .customer-progress-list {
  line-height: 1.12 !important;
}

.customer-ledger-table .handover-reason,
.customer-ledger-table .handover-reason span {
  line-height: 1.12 !important;
}

.customer-ledger-table .handover-reason + .handover-reason {
  margin-top: 0 !important;
}

.customer-ledger-table .customer-chase-cell form {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

.customer-ledger-table .customer-chase-cell input[name] {
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 0 2px !important;
  line-height: 1 !important;
}

/* Tmall-like customer order ledger */
.customer-list-panel .customer-filter-bar {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.customer-list-panel .customer-filter-bar .search,
.customer-list-panel .customer-filter-bar button.secondary,
.customer-list-panel .customer-filter-bar label,
.customer-list-panel .customer-chase-filter {
  min-height: 42px !important;
  height: 42px !important;
}

.customer-list-panel .customer-filter-bar button.secondary {
  padding: 0 18px !important;
  border-color: #dfe5ec !important;
  background: #fff !important;
  color: #1f2d3d !important;
  box-shadow: none !important;
}

.customer-list-panel .customer-chase-filter {
  display: inline-flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dfe5ec !important;
  border-radius: 6px !important;
  background: #fff !important;
}

.customer-list-panel .customer-chase-filter button.secondary,
.customer-list-panel .customer-chase-filter label {
  height: 40px !important;
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.customer-list-panel .customer-chase-filter label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 10px !important;
  border-left: 1px solid #e7edf3 !important;
}

.customer-list-panel .customer-chase-filter input[type="number"] {
  width: 42px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 4px !important;
  text-align: center;
}

.customer-order-ledger {
  display: grid;
  gap: 10px;
  min-width: 1180px;
}

.customer-order-columns,
.customer-order-body {
  display: grid;
  grid-template-columns: minmax(165px, .85fr) minmax(260px, 1.35fr) 92px minmax(140px, .72fr) 78px minmax(185px, 1fr) minmax(185px, 1fr) minmax(185px, 1fr);
}

.customer-order-columns {
  height: 40px;
  align-items: center;
  padding: 0 12px;
  border-radius: 8px;
  color: #273445;
  background: #f5f7fa;
  font-size: 13px;
  font-weight: 700;
}

.customer-order-card {
  border: 1px solid #e5ebf2;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.customer-order-head {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 42px;
  padding: 0 12px;
  background: #f0f3fb;
  color: #172033;
  font-size: 13px;
}

.customer-order-head label {
  display: grid;
  place-items: center;
}

.customer-order-head strong,
.customer-order-head span {
  white-space: nowrap;
}

.customer-order-head > strong:not(.customer-order-date-fixed),
.customer-order-head > .customer-order-wangwang:not(.customer-order-wangwang-fixed) {
  display: none !important;
}

.customer-order-head .customer-order-wangwang b {
  font-weight: 800;
}

.customer-order-head .customer-order-date-fixed {
  margin-right: 18px;
}

.customer-order-head .customer-order-wangwang-fixed {
  font-weight: 800;
}

.customer-order-head em,
.customer-wangwang-cell em {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 18px;
  padding: 0 6px;
  border-radius: 4px;
  color: #9a5a00;
  background: #fff3cf;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.customer-order-body {
  min-height: 92px;
  align-items: stretch;
}

.customer-order-body > section {
  min-width: 0;
  padding: 10px 12px;
  border-left: 1px solid #edf1f5;
  color: #243242;
  font-size: 13px;
  line-height: 1.28;
}

.customer-order-body > section:first-child {
  border-left: 0;
}

.customer-order-customer,
.customer-order-question {
  display: grid;
  gap: 4px;
  align-content: start;
}

.customer-order-customer b {
  color: #1b64d8;
  font-weight: 700;
}

.customer-order-customer span {
  color: #334155;
}

.customer-order-question p {
  margin: 0;
  color: #1f2937;
  white-space: pre-wrap;
}

.customer-order-status {
  display: grid;
  place-items: start center;
  text-align: center;
}

.customer-order-status b {
  color: #e11d48;
  font-weight: 800;
}

.customer-order-nos pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-all;
  font-family: inherit;
  line-height: 1.25;
}

.customer-order-service,
.customer-order-progress,
.customer-order-handover,
.customer-order-remark {
  display: grid;
  align-content: stretch;
}

.customer-order-card .customer-chase-cell {
  min-height: 72px !important;
  height: 100%;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: stretch !important;
}

.customer-order-card .customer-progress-list,
.customer-order-card .handover-reason,
.customer-order-card .handover-reason span {
  line-height: 1.22 !important;
}

.customer-order-card .customer-chase-cell form {
  align-self: end !important;
  justify-self: stretch !important;
  margin: 6px -12px -10px !important;
}

.customer-order-card .customer-chase-cell input[name] {
  width: 100% !important;
  padding: 2px 4px 3px !important;
  border-radius: 0 !important;
}

.customer-ledger-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #e3ebf3;
  border-radius: 8px;
  background: #fff;
  color: #526272;
  font-size: 13px;
}

.customer-ledger-pager > div {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.customer-ledger-pager b {
  min-width: 54px;
  text-align: center;
  color: #1f2d3d;
}

/* Customer process detail spacing refinement. */
.customer-processing-panel .customer-process-info {
  grid-template-rows: minmax(58px, auto) minmax(104px, auto) !important;
  min-height: 176px !important;
}

.customer-processing-panel .customer-process-info span {
  min-height: 56px !important;
}

.customer-processing-panel .customer-process-field-7,
.customer-processing-panel .customer-process-field-9,
.customer-processing-panel .customer-process-field-10,
.customer-processing-panel .customer-process-field-13 {
  min-height: 102px !important;
}

#customerReturnForm .customer-after-row {
  align-self: stretch !important;
  align-items: center !important;
}

#customerReturnForm .customer-after-row label {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  align-items: center !important;
}

#customerReturnForm .customer-after-row select {
  height: 40px !important;
  min-height: 40px !important;
}

/* Customer process v24: mapped status field and cleaner form alignment. */
.customer-processing-panel .customer-process-info {
  grid-template-columns: 76px 106px 66px 116px minmax(210px, 1.35fr) 82px 92px minmax(170px, .95fr) minmax(210px, 1.15fr) minmax(210px, 1.15fr) 78px minmax(190px, 1.05fr) !important;
  grid-template-rows: minmax(76px, auto) minmax(132px, auto) !important;
  min-height: 222px !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  padding: 8px !important;
  border: 1px solid #c9d9e8 !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 18px rgba(31, 64, 99, .08) !important;
}

.customer-processing-panel .customer-process-info span {
  min-height: 72px !important;
  padding: 9px 10px !important;
  border: 1px solid #cfe0ef !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(31, 64, 99, .04) !important;
  color: #1f2d3d !important;
  font-weight: 700 !important;
}

.customer-processing-panel .customer-process-info b {
  color: #264b6f !important;
  font-weight: 900 !important;
}

.customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-5 { grid-column: 5 / 8 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-6 { grid-column: 8 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-11 { grid-column: 9 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-7 { grid-column: 1 / 4 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-8 { grid-column: 4 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-9 { grid-column: 5 / 8 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-10 { grid-column: 8 / 10 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-12 { grid-column: 10 / 13 !important; grid-row: 2 !important; }

/* Customer desk v68: keep the process summary usable in narrow app windows. */
@media (max-width: 1280px) {
  .customer-main,
  .customer-desk-grid {
    grid-template-columns: 1fr !important;
  }

  .customer-consult-form {
    order: 2;
  }

  .customer-processing-panel {
    order: 1;
    overflow: hidden !important;
  }

  .customer-processing-panel .customer-process-search {
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: 8px !important;
  }

  .customer-processing-panel .customer-process-info {
    grid-template-columns: 76px 106px 66px 116px minmax(140px, 1fr) 98px 98px !important;
    grid-template-rows: minmax(76px, auto) minmax(126px, auto) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .customer-processing-panel .customer-process-info span {
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 9px 10px !important;
  }

  .customer-processing-panel .customer-process-info span b {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1.2 !important;
  }

  .customer-processing-panel .customer-process-info span i {
    white-space: pre-wrap !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-5 { grid-column: 5 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-6 { grid-column: 6 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-11 { grid-column: 7 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-8 { grid-column: 3 / 5 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-9 { grid-column: 5 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-10 { grid-column: 6 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-12 { grid-column: 7 !important; grid-row: 2 !important; }

  .customer-processing-panel .customer-process-field-7,
  .customer-processing-panel .customer-process-field-8,
  .customer-processing-panel .customer-process-field-9,
  .customer-processing-panel .customer-process-field-10,
  .customer-processing-panel .customer-process-field-12 {
    min-height: 126px !important;
  }

  .customer-process-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  .customer-processing-panel .customer-process-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }

  .customer-processing-panel .customer-process-info span {
    min-height: 72px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-1,
  .customer-processing-panel .customer-process-info .customer-process-field-2,
  .customer-processing-panel .customer-process-info .customer-process-field-3,
  .customer-processing-panel .customer-process-info .customer-process-field-4,
  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-6,
  .customer-processing-panel .customer-process-info .customer-process-field-7,
  .customer-processing-panel .customer-process-info .customer-process-field-8,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-11,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-7,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    grid-column: 1 / -1 !important;
    min-height: 96px !important;
  }
}

/* Customer process v62: service column wider, remark shorter, second row can break alignment. */
.customer-processing-panel .customer-process-field-8 { grid-column: 3 / 6 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-9 { grid-column: 6 / 8 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-10 { grid-column: 8 / 11 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-12 { grid-column: 11 / 13 !important; grid-row: 2 !important; }

/* Decision create v64: clean modal and simple employee pickers. */
.decision-create-card {
  width: min(760px, 94vw) !important;
  border-radius: 12px !important;
  padding: 22px 24px !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .18) !important;
}

.decision-create-card header {
  padding-bottom: 16px !important;
}

.decision-create-card h3 {
  font-size: 24px !important;
  letter-spacing: 0 !important;
}

.modal-close-btn {
  width: 34px;
  height: 34px;
  border: 1px solid #dbe5ef;
  border-radius: 9px;
  background: #fff;
  color: #526176;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

#closeDecisionModal {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #526176 !important;
  box-shadow: none !important;
  font-size: 0 !important;
}

#closeDecisionModal::before {
  content: "\00d7";
  font-size: 22px;
  line-height: 1;
}

.modal-close-btn:hover {
  color: #e33455;
  border-color: #f4b9c4;
  background: #fff5f7;
}

#closeDecisionModal:hover {
  color: #e33455 !important;
  border-color: #f4b9c4 !important;
  background: #fff5f7 !important;
}

.decision-create-form {
  gap: 16px !important;
}

.decision-create-form label {
  gap: 8px !important;
}

.decision-create-form input,
.decision-create-form select,
.decision-create-form textarea {
  min-height: 42px;
  border-radius: 8px !important;
  border-color: #d8e3ee !important;
  background: #fff !important;
}

.decision-create-form textarea {
  min-height: 96px;
}

.decision-submit-btn {
  min-height: 44px !important;
  border-radius: 8px !important;
}

.decision-executor-picker {
  width: 100% !important;
  max-width: none !important;
}

.decision-executor-picker .project-people-inputline,
.decision-executor-picker #decisionExecutors {
  display: none !important;
}

#decisionExecutorChips,
.decision-person-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 8px !important;
  max-height: 190px;
  overflow-y: auto;
  padding: 8px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #f8fbfd;
}

.decision-person-option,
.project-people-checklist label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding: 7px 10px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

.decision-person-option:hover,
.project-people-checklist label:hover {
  border-color: #f4a9b8 !important;
  background: #fff8fa !important;
}

.decision-person-option input,
.project-people-checklist input {
  appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  border: 1px solid #b8c6d6 !important;
  border-radius: 4px !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
}

.decision-person-option input:checked,
.project-people-checklist input:checked {
  border-color: #e33a59 !important;
  background: #e33a59 !important;
}

.decision-person-option input:checked::after,
.project-people-checklist input:checked::after {
  content: "" !important;
  width: 8px !important;
  height: 5px !important;
  border-left: 2px solid #fff !important;
  border-bottom: 2px solid #fff !important;
  transform: rotate(-45deg) translate(1px, -1px) !important;
}

.decision-person-option:has(input:checked),
.project-people-checklist label:has(input:checked) {
  border-color: #f06b83 !important;
  background: #fff1f4 !important;
  color: #c8203e !important;
}

.project-people-picker {
  width: min(260px, 100%) !important;
  max-width: 260px !important;
}

.project-people-checklist {
  gap: 6px !important;
  max-height: 260px !important;
  padding: 6px !important;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #f8fbfd;
}

/* Responsive consolidation v67: keep app usable on smaller desktop screens. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.view,
.panel,
.table-wrap {
  min-width: 0;
}

.customer-shell,
.decision-shell,
.quality-shell {
  min-width: 0;
}

@media (max-width: 1440px) {
  .customer-main-workarea {
    grid-template-columns: minmax(280px, 330px) minmax(0, 1fr) !important;
  }

  .customer-process-search {
    min-width: 0 !important;
  }

  .customer-process-search .search {
    min-width: 220px !important;
  }

  .customer-processing-panel .customer-process-info {
    grid-template-columns:
      72px
      96px
      60px
      104px
      minmax(160px, 1.2fr)
      minmax(120px, .8fr)
      minmax(96px, .65fr)
      minmax(145px, 1fr)
      minmax(145px, 1fr)
      minmax(145px, 1fr) !important;
  }

  .customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-5 { grid-column: 5 / 8 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-6 { grid-column: 8 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-11 { grid-column: 9 / 11 !important; grid-row: 1 !important; }
  .customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-8 { grid-column: 3 / 5 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-9 { grid-column: 5 / 7 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-10 { grid-column: 7 / 9 !important; grid-row: 2 !important; }
  .customer-processing-panel .customer-process-field-12 { grid-column: 9 / 11 !important; grid-row: 2 !important; }

  .customer-order-ledger {
    min-width: 0 !important;
  }

  .customer-order-columns,
  .customer-order-body {
    grid-template-columns:
      minmax(138px, .85fr)
      minmax(190px, 1.25fr)
      78px
      minmax(118px, .7fr)
      82px
      minmax(150px, 1fr)
      minmax(150px, 1fr)
      minmax(150px, 1fr) !important;
  }
}

@media (max-width: 1180px) {
  .customer-hero,
  .record-header,
  .record-header.compact {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .customer-actions,
  .customer-filter-bar,
  .customer-process-search {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .customer-filter-bar .search,
  .customer-process-search .search {
    flex: 1 1 260px !important;
    min-width: 180px !important;
  }

  .customer-main-workarea {
    grid-template-columns: 1fr !important;
  }

  .customer-consult-form {
    order: 2;
  }

  .customer-processing-panel {
    order: 1;
  }

  .customer-processing-panel .customer-process-info {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    min-height: 0 !important;
  }

  .customer-processing-panel .customer-process-info span {
    min-height: 58px !important;
  }

  .customer-processing-panel .customer-process-field-1,
  .customer-processing-panel .customer-process-field-2,
  .customer-processing-panel .customer-process-field-3,
  .customer-processing-panel .customer-process-field-4,
  .customer-processing-panel .customer-process-field-6,
  .customer-processing-panel .customer-process-field-11 {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .customer-processing-panel .customer-process-field-5,
  .customer-processing-panel .customer-process-field-7,
  .customer-processing-panel .customer-process-field-8,
  .customer-processing-panel .customer-process-field-9,
  .customer-processing-panel .customer-process-field-10,
  .customer-processing-panel .customer-process-field-12 {
    grid-column: span 2 !important;
    grid-row: auto !important;
    min-height: 86px !important;
  }

  .customer-process-grid {
    grid-template-columns: 1fr !important;
  }

  .customer-mini-form {
    border-right: 0 !important;
    border-bottom: 1px solid #e2ebf2 !important;
  }

  .customer-mini-form:last-child {
    border-bottom: 0 !important;
  }

  .customer-order-columns {
    display: none !important;
  }

  .customer-order-body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .customer-order-body > section {
    border-left: 0 !important;
    border-top: 1px solid #edf1f5 !important;
    min-height: 64px;
  }

  .customer-order-customer,
  .customer-order-question,
  .customer-order-progress,
  .customer-order-handover,
  .customer-order-remark {
    grid-column: span 2;
  }

  .customer-order-head {
    gap: 12px !important;
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
  }

  .customer-ledger-pager {
    padding: 8px 10px !important;
  }

  .customer-ledger-pager > span {
    position: static !important;
  }
}

@media (max-width: 860px) {
  .todo-three-col {
    grid-template-columns: 1fr !important;
  }

  .todo-preview-panel {
    min-height: 220px !important;
  }

  .customer-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .customer-form .form-grid,
  .customer-consult-form .form-grid {
    grid-template-columns: 1fr !important;
  }

  .customer-processing-panel .customer-process-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .customer-processing-panel .customer-process-field-5,
  .customer-processing-panel .customer-process-field-7,
  .customer-processing-panel .customer-process-field-8,
  .customer-processing-panel .customer-process-field-9,
  .customer-processing-panel .customer-process-field-10,
  .customer-processing-panel .customer-process-field-12 {
    grid-column: 1 / -1 !important;
  }

  .customer-order-body {
    grid-template-columns: 1fr !important;
  }

  .customer-order-body > section,
  .customer-order-customer,
  .customer-order-question,
  .customer-order-progress,
  .customer-order-handover,
  .customer-order-remark {
    grid-column: 1 / -1 !important;
  }

  .customer-filter-bar button,
  .customer-filter-bar .customer-chase-filter,
  .customer-filter-bar label {
    flex: 1 1 auto;
  }
}

.customer-processing-panel .customer-process-field-7,
.customer-processing-panel .customer-process-field-8,
.customer-processing-panel .customer-process-field-9,
.customer-processing-panel .customer-process-field-10,
.customer-processing-panel .customer-process-field-12 {
  min-height: 128px !important;
  white-space: pre-wrap !important;
}

.customer-processing-panel .customer-process-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(230px, 1.2fr) !important;
  align-items: stretch !important;
}

/* Customer desk v30: fix filter controls, after-sales alignment, and ledger input placement. */
.customer-list-panel .customer-filter-bar {
  align-items: center !important;
  gap: 10px !important;
}

.customer-list-panel .customer-filter-bar button.secondary,
.customer-list-panel .customer-chase-filter,
.customer-list-panel .customer-filter-bar label {
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid #d7e1eb !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #263648 !important;
  box-shadow: 0 6px 14px rgba(31, 64, 99, .06) !important;
}

.customer-list-panel .customer-filter-bar button.secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 78px !important;
  padding: 0 16px !important;
  font-weight: 800 !important;
}

.customer-list-panel .customer-chase-filter {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: visible !important;
  padding: 0 8px !important;
}

.customer-list-panel .customer-chase-filter button.secondary,
.customer-list-panel .customer-chase-filter label {
  height: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  padding: 0 8px !important;
}

.customer-list-panel .customer-chase-filter input[type="number"] {
  width: 44px !important;
  height: 28px !important;
  min-height: 28px !important;
}

#customerReturnForm .customer-after-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: end !important;
}

#customerReturnForm .customer-after-row label {
  display: grid !important;
  grid-template-columns: 62px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 40px !important;
}

#customerReturnForm .customer-after-row select,
#customerReturnForm input {
  height: 40px !important;
  min-height: 40px !important;
}

.customer-order-head {
  gap: 16px !important;
}

.customer-order-head label {
  width: auto !important;
  margin-right: -6px !important;
}

.customer-order-head .customer-order-date-fixed {
  margin-right: 20px !important;
}

.customer-order-card .customer-chase-cell {
  position: relative !important;
  min-height: 92px !important;
  padding-bottom: 28px !important;
  display: block !important;
}

.customer-order-card .customer-progress-list {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.customer-order-card .customer-chase-cell form {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.customer-order-card .customer-chase-cell input[name] {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 4px 2px !important;
  border: 0 !important;
  border-bottom: 1px solid #b8cadb !important;
  background: transparent !important;
  text-align: left !important;
}

.customer-order-card .handover-reason {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 6px !important;
  margin: 0 !important;
}

.customer-order-card .handover-reason span {
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.customer-order-card .handover-reason button {
  align-self: end !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  border: 1px solid #cfe0ef !important;
  background: #fff !important;
  color: #2d465f !important;
  box-shadow: 0 6px 14px rgba(31, 64, 99, .06) !important;
}

.customer-processing-panel .customer-mini-form {
  min-height: 182px !important;
  padding: 12px !important;
  align-content: stretch !important;
}

.customer-processing-panel .customer-mini-form label {
  align-items: center !important;
}

#customerReturnForm .customer-after-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: end !important;
  gap: 10px !important;
}

#customerReturnForm .customer-after-row label {
  display: grid !important;
  align-items: center !important;
  margin: 0 !important;
}

#customerReturnForm .customer-after-row label:first-child {
  grid-template-columns: 42px minmax(70px, 1fr) !important;
}

#customerReturnForm .customer-after-row label:nth-child(2) {
  grid-template-columns: 56px minmax(70px, 1fr) !important;
}

#customerReturnForm .customer-after-row select,
#customerReturnForm .customer-after-row input {
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
}

/* Customer desk v30 final override: after-sales fields must stay aligned. */
#customerReturnForm .customer-after-row label:first-child,
#customerReturnForm .customer-after-row label:nth-child(2) {
  grid-template-columns: 64px minmax(0, 1fr) !important;
}

#customerReturnForm .customer-after-row select {
  width: 100% !important;
}

/* Employee account v31: simpler account management and reliable permission picking. */
#employeeAccountsView .account-layout {
  grid-template-columns: minmax(560px, 0.92fr) minmax(520px, 1.08fr) !important;
  gap: 16px !important;
}

#employeeAccountsView .account-editor,
#employeeAccountsView .account-list-panel {
  border-radius: 8px !important;
}

#employeeAccountsView .account-form {
  gap: 12px !important;
}

#employeeAccountsView .account-form .form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
}

#employeeAccountsView .account-form label {
  display: grid !important;
  gap: 5px !important;
}

#employeeAccountsView .account-form label span,
#employeeAccountsView .permission-presets label span {
  color: #5d6c7c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

#employeeAccountsView .account-form input,
#employeeAccountsView .account-form select {
  min-height: 38px !important;
  height: 38px !important;
}

#employeeAccountsView .permission-box {
  padding: 10px !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
}

#employeeAccountsView .permission-presets {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto minmax(150px, .8fr) auto auto !important;
  gap: 8px !important;
  align-items: end !important;
  margin-bottom: 10px !important;
}

#employeeAccountsView .permission-presets .compact-btn,
#employeeAccountsView .permission-head .compact-btn,
#employeeAccountsView .account-card .compact-btn {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  background: #2f455c !important;
  color: #fff !important;
  font-weight: 800 !important;
}

#employeeAccountsView .permission-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 8px 0 !important;
}

#employeeAccountsView .permission-head strong {
  color: #1f2d3d !important;
  font-size: 15px !important;
}

#employeeAccountsView #accountPermissions,
#employeeAccountsView .permission-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-height: 220px !important;
  max-height: 380px !important;
  overflow: auto !important;
  padding-right: 4px !important;
}

#employeeAccountsView .permission-section {
  border: 1px solid #dbe6f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}

#employeeAccountsView .permission-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-height: 38px !important;
  padding: 6px 8px !important;
  border-bottom: 1px solid #e8eef5 !important;
  background: #f4f8fc !important;
}

#employeeAccountsView .permission-section-head div {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#employeeAccountsView .permission-section-head strong {
  color: #1f2d3d !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

#employeeAccountsView .permission-section-head span {
  padding: 1px 6px !important;
  border-radius: 999px !important;
  background: #e7f0f8 !important;
  color: #52677c !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

#employeeAccountsView .permission-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 8px !important;
}

#employeeAccountsView .permission-item {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  padding: 6px 8px !important;
  border: 1px solid #dde7f0 !important;
  border-radius: 7px !important;
  background: #fff !important;
  cursor: pointer !important;
  user-select: none !important;
}

#employeeAccountsView .permission-item:has(input:checked) {
  border-color: #e33d5b !important;
  background: #fff4f6 !important;
  color: #b51d38 !important;
}

#employeeAccountsView .permission-item input {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  flex: 0 0 auto !important;
}

#employeeAccountsView .permission-item span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

#employeeAccountsView .account-summary {
  margin-bottom: 10px !important;
  justify-content: flex-start !important;
}

#employeeAccountsView .account-list {
  display: grid !important;
  gap: 8px !important;
}

#employeeAccountsView .account-card {
  display: grid !important;
  grid-template-columns: minmax(160px, 1fr) 120px 86px 88px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 58px !important;
  padding: 10px 14px !important;
  border: 1px solid #dfe7ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  cursor: pointer !important;
}

#employeeAccountsView .account-card.active {
  border-color: #e33d5b !important;
  box-shadow: 0 0 0 2px rgba(227, 61, 91, .12) !important;
}

#employeeAccountsView .account-person strong {
  display: block !important;
  color: #1f2937 !important;
  font-size: 15px !important;
}

#employeeAccountsView .account-person span {
  display: block !important;
  margin-top: 2px !important;
  color: #6b7280 !important;
}

#employeeAccountsView .account-role-line {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#employeeAccountsView .account-role-line b {
  color: #334155 !important;
}

#employeeAccountsView .account-role-line em {
  font-style: normal !important;
  font-weight: 800 !important;
}

#employeeAccountsView .account-permission-count {
  color: #607080 !important;
  font-weight: 800 !important;
}

/* Company resources: Feishu company information entry. */
.company-info-panel {
  min-height: calc(100vh - 150px) !important;
  display: grid !important;
  grid-template-rows: auto minmax(520px, 1fr) !important;
  gap: 14px !important;
}

.company-info-panel .record-header {
  align-items: center !important;
}

.company-info-panel .record-header p:not(.eyebrow) {
  margin: 6px 0 0 !important;
  color: #66768a !important;
}

.company-info-open {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 16px !important;
  border: 1px solid #d8e3ee !important;
  border-radius: 8px !important;
  color: #24384f !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  background: #fff !important;
}

.company-info-frame {
  width: 100% !important;
  min-height: 620px !important;
  height: calc(100vh - 245px) !important;
  border: 1px solid #d8e3ee !important;
  border-radius: 8px !important;
  background: #fff !important;
}

/* Employee access v36: WeCom-like administrator management. */
#employeeAccountsView .account-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(720px, 1fr) !important;
  gap: 0 !important;
  min-height: calc(100vh - 120px) !important;
  background: #fff !important;
  border: 1px solid #e5eaf0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(31, 45, 61, .06) !important;
}

#employeeAccountsView .account-list-panel {
  order: 1 !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-right: 1px solid #e5eaf0 !important;
  box-shadow: none !important;
  background: #fbfcfe !important;
  padding: 16px 14px !important;
}

#employeeAccountsView .account-editor {
  order: 2 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  padding: 22px 28px !important;
}

#employeeAccountsView .record-header {
  padding: 0 0 16px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid #edf1f5 !important;
}

#employeeAccountsView .record-header h3 {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

#employeeAccountsView .record-header .eyebrow {
  color: #7b8794 !important;
  letter-spacing: 0 !important;
}

#employeeAccountsView .account-list-panel .record-header {
  align-items: center !important;
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
}

#employeeAccountsView .account-summary {
  display: flex !important;
  gap: 6px !important;
  margin: 0 0 12px !important;
}

#employeeAccountsView .account-summary span {
  display: inline-flex !important;
  align-items: center !important;
  height: 26px !important;
  padding: 0 10px !important;
  border: 1px solid #e3e9f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #5f6f82 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#employeeAccountsView .account-search {
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 10px !important;
}

#employeeAccountsView .account-search span {
  color: #5f6f82 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#employeeAccountsView .account-search input {
  width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid #d7e2ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #1f2937 !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

#employeeAccountsView .account-search input:focus {
  border-color: #8db4e8 !important;
  outline: 2px solid rgba(47, 111, 219, 0.14) !important;
}

#employeeAccountsView .account-list {
  display: grid !important;
  gap: 4px !important;
}

#employeeAccountsView .account-bulk-permission {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.7fr) minmax(260px, 1fr) auto !important;
  align-items: end !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
  padding: 10px !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
}

#employeeAccountsView .account-bulk-permission strong,
#employeeAccountsView .account-bulk-permission span {
  display: block !important;
}

#employeeAccountsView .account-bulk-permission strong {
  color: #1f2937 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

#employeeAccountsView .account-bulk-permission span {
  margin-top: 2px !important;
  color: #66758a !important;
  font-size: 12px !important;
}

#employeeAccountsView .account-bulk-permission select {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  border: 1px solid #d7e2ee !important;
  border-radius: 6px !important;
  background: #fff !important;
}

#employeeAccountsView .account-bulk-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}

#employeeAccountsView .account-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "person button"
    "meta button" !important;
  align-items: center !important;
  gap: 2px 8px !important;
  min-height: 46px !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#employeeAccountsView .account-card:hover,
#employeeAccountsView .account-card.active {
  background: #eaf3ff !important;
  border: 0 !important;
  box-shadow: none !important;
}

#employeeAccountsView .account-person {
  grid-area: person !important;
  position: relative !important;
  padding-left: 30px !important;
  min-width: 0 !important;
}

#employeeAccountsView .account-person strong {
  color: #1f2937 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#employeeAccountsView .account-person span {
  color: #7b8794 !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#employeeAccountsView .account-role-line {
  grid-area: meta !important;
  display: flex !important;
  gap: 6px !important;
  color: #65758a !important;
  font-size: 12px !important;
}

#employeeAccountsView .account-role-line b,
#employeeAccountsView .account-role-line em {
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#employeeAccountsView .account-permission-count {
  display: none !important;
}

#employeeAccountsView .account-card .compact-btn {
  grid-area: button !important;
  min-width: 46px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #d9e2ec !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #2f6fdb !important;
  box-shadow: none !important;
  font-size: 12px !important;
}

#employeeAccountsView #newEmployeeAccount,
#employeeAccountsView #refreshEmployeeAccounts,
#employeeAccountsView .account-bulk-actions .compact-btn,
#employeeAccountsView .permission-presets .compact-btn,
#employeeAccountsView .permission-head .compact-btn,
#employeeAccountsView .permission-section-head .compact-btn,
#employeeAccountsView #generateAccountPassword {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border: 1px solid #d8e2ed !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #2d6cdf !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#employeeAccountsView #newEmployeeAccount {
  width: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  font-size: 0 !important;
}

#employeeAccountsView #newEmployeeAccount::before {
  content: "+" !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

#employeeAccountsView .account-form {
  max-width: 1080px !important;
  gap: 0 !important;
}

#employeeAccountsView .account-form .form-grid {
  grid-template-columns: 110px minmax(0, 1fr) 110px minmax(0, 1fr) !important;
  gap: 18px 20px !important;
  padding: 8px 0 24px !important;
  border-bottom: 1px solid #edf1f5 !important;
}

#employeeAccountsView .account-form .form-grid label {
  display: contents !important;
}

#employeeAccountsView .account-form label span,
#employeeAccountsView .permission-presets label span {
  align-self: center !important;
  color: #697386 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

#employeeAccountsView .account-form input,
#employeeAccountsView .account-form select {
  height: 36px !important;
  min-height: 36px !important;
  border: 1px solid #d8e2ed !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #111827 !important;
}

#employeeAccountsView .inline-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

#employeeAccountsView .permission-box {
  padding: 24px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#employeeAccountsView .permission-presets {
  grid-template-columns: 110px minmax(190px, 260px) auto 110px minmax(150px, 220px) auto auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding-bottom: 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid #edf1f5 !important;
}

#employeeAccountsView .permission-presets label {
  display: contents !important;
}

#employeeAccountsView .permission-head {
  justify-content: flex-start !important;
  gap: 18px !important;
  margin: 24px 0 14px !important;
}

#employeeAccountsView .permission-head strong {
  min-width: 110px !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

#employeeAccountsView #accountPermissions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  gap: 0 !important;
  padding: 0 !important;
}

#employeeAccountsView .permission-section {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr) !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid #edf1f5 !important;
  background: transparent !important;
  overflow: visible !important;
}

#employeeAccountsView .permission-section-head {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 18px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#employeeAccountsView .permission-section-head div {
  display: grid !important;
  gap: 4px !important;
}

#employeeAccountsView .permission-section-head strong {
  color: #697386 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

#employeeAccountsView .permission-section-head span {
  width: max-content !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#employeeAccountsView .permission-options {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 8px !important;
  padding: 16px 0 16px 10px !important;
}

#employeeAccountsView .permission-item {
  min-height: 28px !important;
  padding: 4px 9px !important;
  gap: 6px !important;
  border: 1px solid #d8e2ed !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: none !important;
}

#employeeAccountsView .permission-item:has(input:checked) {
  border-color: #9fc5ff !important;
  background: #f3f8ff !important;
  color: #1d4ed8 !important;
}

#employeeAccountsView .permission-item input {
  accent-color: #2d6cdf !important;
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
}

#employeeAccountsView .permission-item span {
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

#employeeAccountsView .account-form > .primary[type="submit"] {
  width: auto !important;
  min-width: 74px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin-top: 20px !important;
  padding: 0 18px !important;
  border-radius: 5px !important;
  background: #2d6cdf !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

@media (max-width: 1180px) {
  #employeeAccountsView .account-layout {
    grid-template-columns: 230px minmax(0, 1fr) !important;
  }

  #employeeAccountsView .account-form .form-grid,
  #employeeAccountsView .permission-presets {
    grid-template-columns: 90px minmax(0, 1fr) !important;
  }

  #employeeAccountsView .account-form .form-grid label,
  #employeeAccountsView .permission-presets label {
    display: grid !important;
    gap: 5px !important;
  }
}

/* JPRX visual system v37: app-wide calmer typography, icons, navigation and new home. */
:root {
  --ink: #17202a !important;
  --muted: #617084 !important;
  --soft: #94a3b8 !important;
  --line: #e5ebf2 !important;
  --panel: #ffffff !important;
  --bg: #f5f8fc !important;
  --accent: #d92542 !important;
  --accent-soft: #fff1f4 !important;
  --blue: #356ff6 !important;
  --blue-soft: #eef5ff !important;
  --green: #18a058 !important;
  --amber: #d97706 !important;
  --shadow: 0 10px 28px rgba(27, 39, 54, .07) !important;
  font-family: Inter, "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Arial, sans-serif !important;
}

* {
  letter-spacing: 0 !important;
}

body {
  color: var(--ink) !important;
  background:
    linear-gradient(180deg, #eef5fb 0%, #f7fbff 48%, #f4f7fb 100%) !important;
  font-family: Inter, "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Arial, sans-serif !important;
}

.content {
  background: transparent !important;
}

.topbar,
.topbar.app-command-bar {
  display: grid !important;
  min-height: 58px !important;
  padding: 8px 22px !important;
  border-bottom: 1px solid rgba(214, 224, 236, .88) !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px) !important;
}

.command-search input {
  height: 36px !important;
  border-radius: 8px !important;
  border-color: #dbe5ef !important;
  background: #f8fafc !important;
}

.command-actions {
  gap: 14px !important;
}

.command-btn {
  position: relative !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.command-btn::before {
  font-size: 18px !important;
  color: #40546c !important;
}

#desktopUpdateToggle::before { content: "↧" !important; }
#refreshToggle::before { content: "↻" !important; }
#feedbackToggle::before { content: "✎" !important; }
#messageToggle::before { content: "◦" !important; font-size: 24px !important; line-height: 14px !important; }

.command-btn:hover {
  background: #f3f7fb !important;
  color: #17202a !important;
}

.message-badge {
  top: 4px !important;
  right: 9px !important;
  min-width: 7px !important;
  width: 7px !important;
  height: 7px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--accent) !important;
  color: transparent !important;
  border: 2px solid #fff !important;
}

.command-panel {
  border-radius: 14px !important;
  border-color: #e1e9f2 !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 18px 44px rgba(24, 39, 58, .14) !important;
}

.mail-item {
  border-color: #e4ebf3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #1f2937 !important;
}

.mail-item.unread {
  border-color: #e4ebf3 !important;
  background: #fff !important;
  box-shadow: inset 3px 0 0 var(--accent) !important;
}

.sidebar {
  background: #fff !important;
  border-right: 1px solid #e5ebf2 !important;
  box-shadow: 6px 0 24px rgba(31, 45, 61, .04) !important;
}

#nav,
nav {
  gap: 3px !important;
}

#nav button,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button {
  min-height: 38px !important;
  border-radius: 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

#nav button:hover,
#nav .nav-section-toggle:hover,
#nav .nav-subsection-toggle:hover {
  background: #f5f8fc !important;
  color: #17202a !important;
}

#nav button.active,
#nav .nav-subsection-toggle.active {
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}

#nav button.active::before,
.nav-grandchildren button.active::before {
  background: transparent !important;
}

#nav .oa-icon,
#nav .nav-section-toggle i,
#nav .system-entry i {
  width: 18px !important;
  height: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  box-shadow: none !important;
}

#nav .oa-icon::before,
#nav .nav-section-toggle i::before,
#nav .system-entry i::before {
  display: inline-block !important;
  width: 18px !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 18px !important;
}

#nav .oa-icon-home::before { content: "⌂" !important; }
#nav .oa-icon-workbench::before { content: "◴" !important; }
#nav .oa-icon-finance::before { content: "♙" !important; }
#nav .oa-icon-reconcile::before { content: "▦" !important; }
#nav .oa-icon-database::before { content: "▤" !important; }
#nav .oa-icon-history::before { content: "◷" !important; }
#nav .oa-icon-users::before { content: "♙" !important; }
#nav .oa-icon-code::before { content: "⌘" !important; }
#nav .oa-icon-tools::before { content: "⚙" !important; }

.nav-children > button::before,
.nav-grandchildren button::before,
.nav-subsection-toggle span::before {
  color: currentColor !important;
  opacity: .82 !important;
}

.sidebar #logoutBtn {
  width: calc(100% - 24px) !important;
  margin: 12px !important;
  min-height: 38px !important;
  border-radius: 8px !important;
  border: 1px solid #f0c9cf !important;
  background: #fff6f8 !important;
  color: #b42335 !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.workspace-home {
  display: grid !important;
  gap: 16px !important;
  padding: 20px 22px 34px !important;
  max-width: 1560px !important;
  margin: 0 auto !important;
}

.home-hero-card,
.home-gantt-panel,
.home-mini-panel,
.home-promo-banner {
  border: 1px solid #e5ebf2 !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: var(--shadow) !important;
  overflow: hidden !important;
}

.home-hero-card {
  min-height: 112px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 14px !important;
  padding: 12px !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.94), rgba(247,250,253,.86)),
    var(--weather-bg, none) center/cover no-repeat !important;
}

.home-hero-main {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 86px !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.56) !important;
}

.home-hero-main .eyebrow,
.home-panel-head .eyebrow {
  color: var(--accent) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.home-hero-main h1 {
  margin: 2px 0 6px !important;
  font-size: 28px !important;
  line-height: 1.12 !important;
  color: #111827 !important;
}

.home-hero-main p:not(.eyebrow) {
  color: #64748b !important;
  font-size: 14px !important;
}

.home-weather-meta {
  display: grid !important;
  align-content: center !important;
  gap: 6px !important;
  min-height: 86px !important;
  padding: 16px 18px !important;
  border-radius: 10px !important;
  color: #fff !important;
  background:
    linear-gradient(135deg, rgba(30, 41, 59, .52), rgba(30, 41, 59, .22)),
    var(--weather-bg, linear-gradient(135deg, #64748b, #94a3b8)) center/cover no-repeat !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.home-weather-meta span {
  color: rgba(255,255,255,.9) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.home-weather-meta #welcomeDate {
  color: #fff !important;
  font-size: 21px !important;
}

.home-workbench-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 16px !important;
}

.home-gantt-panel {
  padding: 18px !important;
  min-height: 420px !important;
}

.home-side-stack {
  display: grid !important;
  gap: 16px !important;
}

.home-panel-head {
  margin-bottom: 14px !important;
}

.home-panel-head h3 {
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.text-link {
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #e5ebf2 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--accent) !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.home-decision-gantt {
  display: grid !important;
  gap: 0 !important;
}

.home-gantt-head,
.home-gantt-row {
  display: grid !important;
  grid-template-columns: 270px minmax(0, 1fr) !important;
}

.home-gantt-head {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  border-bottom: 1px solid #e5ebf2 !important;
}

.home-gantt-head > div:first-child {
  padding: 0 12px 10px 0 !important;
}

.home-gantt-days {
  display: grid !important;
  grid-template-columns: repeat(15, minmax(0, 1fr)) !important;
}

.home-gantt-days span {
  display: grid !important;
  gap: 2px !important;
  justify-items: center !important;
  padding-bottom: 8px !important;
  color: #94a3b8 !important;
}

.home-gantt-days span.today {
  color: var(--accent) !important;
}

.home-gantt-days small {
  font-size: 11px !important;
}

.home-gantt-body {
  display: grid !important;
}

.home-gantt-row {
  min-height: 50px !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f6 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111827 !important;
  text-align: left !important;
}

.home-gantt-row:hover {
  background: #f8fbff !important;
}

.home-gantt-task {
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  padding-right: 14px !important;
}

.home-gantt-task strong {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 14px !important;
}

.home-gantt-task span {
  color: #64748b !important;
  font-size: 12px !important;
}

.home-gantt-track {
  position: relative !important;
  display: block !important;
  height: 100% !important;
  background:
    linear-gradient(90deg, rgba(226,232,240,.7) 1px, transparent 1px) 0 0 / calc(100% / 15) 100% !important;
}

.home-gantt-track .home-today-line {
  position: absolute !important;
  left: calc(7.5 / 15 * 100%) !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: var(--accent) !important;
  opacity: .82 !important;
}

.home-gantt-track em {
  position: absolute !important;
  top: 17px !important;
  height: 14px !important;
  border-radius: 999px !important;
  background: #7aa7ff !important;
  box-shadow: none !important;
}

.home-gantt-track em.done { background: #86c8a5 !important; }
.home-gantt-track em.late { background: #eaa0a9 !important; }
.home-gantt-track em.paused { background: #cbd5e1 !important; }

.home-mini-panel {
  padding: 16px !important;
  min-height: 0 !important;
}

.home-todo-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.home-todo-item {
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.home-todo-item strong {
  font-size: 13px !important;
}

.home-todo-item small {
  color: #64748b !important;
  font-size: 12px !important;
}

.home-todo-item em {
  align-self: center !important;
  min-width: 38px !important;
  padding: 4px 8px !important;
  border-radius: 7px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 12px !important;
}

.mini-list {
  display: grid !important;
  gap: 8px !important;
}

.mini-list div {
  padding: 10px 12px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 9px !important;
  background: #fff !important;
}

.mini-list b,
.mini-list span {
  display: block !important;
}

.mini-list span {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 12px !important;
}

.home-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
  gap: 16px !important;
}

.home-promo-banner {
  position: relative !important;
  min-height: 180px !important;
  padding: 24px 28px !important;
  display: flex !important;
  align-items: flex-end !important;
  background:
    linear-gradient(90deg, rgba(17,24,39,.58), rgba(17,24,39,.18)),
    linear-gradient(135deg, #dbeafe, #f8fafc 54%, #fee2e2) !important;
  color: #fff !important;
}

.home-promo-banner.has-culture-image {
  background:
    linear-gradient(90deg, rgba(17,24,39,.64), rgba(17,24,39,.20)),
    var(--culture-bg) center/cover no-repeat !important;
}

.home-promo-banner .eyebrow,
.home-promo-banner h3,
.home-promo-banner span {
  color: #fff !important;
}

.home-promo-banner h3 {
  margin: 4px 0 8px !important;
  font-size: 24px !important;
}

.home-culture-edit {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.42) !important;
  background: rgba(255,255,255,.14) !important;
}

.home-culture-dots {
  position: absolute !important;
  left: 28px !important;
  bottom: 14px !important;
  display: flex !important;
  gap: 6px !important;
}

.home-culture-dots i {
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.56) !important;
}

.home-culture-dots i.active {
  width: 18px !important;
  background: #fff !important;
}

.home-quick-panel .quick-entry-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.quick-entry {
  min-height: 70px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #1f2937 !important;
  box-shadow: none !important;
}

.quick-entry:hover {
  background: #f8fbff !important;
  border-color: #dbeafe !important;
}

.entry-icon {
  width: 30px !important;
  height: 30px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: var(--blue-soft) !important;
  color: var(--blue) !important;
  font-style: normal !important;
}

.entry-icon::before {
  font-size: 16px !important;
}

.entry-bill::before { content: "▤" !important; }
.entry-air::before { content: "⇄" !important; }
.entry-data::before { content: "◫" !important; }
.entry-service::before { content: "◌" !important; }
.entry-tool::before { content: "◇" !important; }

@media (max-width: 1180px) {
  .home-workbench-grid,
  .home-bottom-grid,
  .home-hero-card {
    grid-template-columns: 1fr !important;
  }
}

/* JPRX v39 hard reset: reproduce the provided dashboard design, replacing prior home/nav patch layers. */
:root {
  --j-font: Inter, "Segoe UI Variable Display", "Segoe UI Variable Text", "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  --j-bg: #f6f8fb;
  --j-panel: #ffffff;
  --j-ink: #101828;
  --j-text: #263446;
  --j-muted: #667085;
  --j-soft: #98a2b3;
  --j-line: #e6ebf2;
  --j-line-2: #edf1f6;
  --j-red: #ef3340;
  --j-red-soft: #fff1f3;
  --j-blue: #4778f5;
  --j-green: #4fac68;
  --j-orange: #ff9f2d;
  --j-purple: #8b63e7;
  --j-shadow: 0 10px 28px rgba(16, 24, 40, .055);
  --j-shadow-card: 0 12px 30px rgba(16, 24, 40, .075);
}

html,
body,
button,
input,
select,
textarea,
table {
  font-family: var(--j-font) !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

body {
  background: var(--j-bg) !important;
  color: var(--j-text) !important;
}

.app-shell {
  grid-template-columns: 232px minmax(0, 1fr) !important;
  background: var(--j-bg) !important;
}

.sidebar {
  width: 232px !important;
  background: #fff !important;
  border-right: 1px solid var(--j-line) !important;
  box-shadow: none !important;
}

.brand {
  height: 72px !important;
  padding: 0 20px !important;
  border-bottom: 1px solid var(--j-line) !important;
  gap: 10px !important;
}

.brand-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #ef3340 !important;
  box-shadow: none !important;
}

.brand strong {
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.brand small {
  display: none !important;
}

.sidebar-toggle {
  right: -15px !important;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #fecdd3 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--j-red) !important;
  box-shadow: 0 6px 16px rgba(239, 51, 64, .12) !important;
  font-size: 20px !important;
}

#nav {
  padding: 16px 16px 12px !important;
  gap: 6px !important;
}

#nav .nav-section,
#nav .nav-subsection,
#nav .system-entry {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#nav .nav-children,
#nav .nav-grandchildren {
  margin: 4px 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

#nav button,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button,
#nav .nav-children > button,
#nav .nav-grandchildren button {
  width: 100% !important;
  min-height: 42px !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #344054 !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

#nav button span,
#nav .nav-section-toggle span,
#nav .nav-subsection-toggle span,
#nav .system-entry > button span {
  display: contents !important;
}

#nav button span:not(:has(i)),
#nav .nav-subsection-toggle span:not(:has(i)) {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#nav button:hover,
#nav .nav-section-toggle:hover,
#nav .nav-subsection-toggle:hover,
#nav .system-entry > button:hover {
  background: #f7f9fc !important;
  color: #111827 !important;
}

#nav button.active,
#nav .nav-section-toggle.active,
#nav .nav-subsection-toggle.active {
  background: var(--j-red-soft) !important;
  color: var(--j-red) !important;
}

#nav button.active b,
#nav .nav-section-toggle.active b,
#nav .nav-subsection-toggle.active b {
  color: var(--j-red) !important;
}

#nav b {
  justify-self: end !important;
  width: auto !important;
  height: auto !important;
  color: #98a2b3 !important;
  transform: none !important;
}

#nav b::after {
  content: "›" !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  transform: none !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

#nav [aria-expanded="true"] > b::after {
  content: "⌄" !important;
  font-size: 17px !important;
}

#nav .oa-icon,
#nav button::before,
#nav .nav-subsection-toggle span::before {
  width: 18px !important;
  height: 18px !important;
  display: inline-block !important;
  background-color: currentColor !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: .95 !important;
  content: "" !important;
  -webkit-mask: var(--nav-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")) center/18px 18px no-repeat !important;
  mask: var(--nav-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")) center/18px 18px no-repeat !important;
}

#nav .oa-icon::before,
#nav .nav-section-toggle i::before,
#nav .system-entry i::before,
#nav .nav-children > button::before,
#nav .nav-grandchildren button::before,
#nav .nav-subsection-toggle span::before {
  content: "" !important;
}

#nav .oa-icon-home,
#nav [data-view="dashboard"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10.5 9-7 9 7'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9 21v-7h6v7'/%3E%3C/svg%3E"); }
#nav .oa-icon-workbench,
#nav [data-view="todo"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l2 2 4-5'/%3E%3Crect x='4' y='4' width='16' height='16' rx='5'/%3E%3C/svg%3E"); }
#nav [data-view="approval"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
#nav [data-nav-subsection="decisions"],
#nav [data-view="decisionTable"],
#nav [data-view="decisionBoard"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='16' rx='3'/%3E%3Cpath d='M9 9h6M9 13h6M9 17h3'/%3E%3C/svg%3E"); }
#nav [data-nav-subsection="customerService"],
#nav [data-view="customerWorkbench"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0 1 16 0'/%3E%3Cpath d='M4 12v3a2 2 0 0 0 2 2h1v-6H6a2 2 0 0 0-2 2Zm16 0v3a2 2 0 0 1-2 2h-1v-6h1a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M13 19h2a3 3 0 0 0 3-3'/%3E%3C/svg%3E"); }
#nav [data-nav-subsection="quality"],
#nav [data-view="qualityRegister"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E"); }
#nav .oa-icon-finance,
#nav [data-nav-section="hrFinance"],
#nav [data-view="activeRoster"],
#nav [data-view="payroll"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-8 0v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M20 8v6M23 11h-6'/%3E%3C/svg%3E"); }
#nav .oa-icon-database,
#nav [data-nav-section="dataSystem"],
#nav [data-view="companyInfo"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='7' ry='3'/%3E%3Cpath d='M5 5v14c0 1.7 3.1 3 7 3s7-1.3 7-3V5'/%3E%3Cpath d='M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3'/%3E%3C/svg%3E"); }
#nav .oa-icon-reconcile,
#nav [data-nav-section="reconcile"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7h12M4 7h.01M8 12h12M4 12h.01M8 17h12M4 17h.01'/%3E%3C/svg%3E"); }
#nav .oa-icon-tools,
#nav [data-nav-section="tools"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 1 0-5.4 5.4L4 17v3h3l5.3-5.3a4 4 0 0 0 5.4-5.4Z'/%3E%3C/svg%3E"); }
#nav .oa-icon-history,
#nav [data-view="history"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 4v5h5'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
#nav .oa-icon-users,
#nav [data-view="employeeAccounts"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-8 0v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
#nav .oa-icon-code,
#nav [data-nav-section="productCenter"] { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9 4 12l4 3M16 9l4 3-4 3M14 4l-4 16'/%3E%3C/svg%3E"); }

#nav .nav-children > button,
#nav .nav-grandchildren button {
  padding-left: 28px !important;
  color: #475467 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#nav .nav-children > button::before,
#nav .nav-grandchildren button::before {
  display: inline-block !important;
  justify-self: center !important;
}

#nav .nav-subsection-toggle {
  color: #344054 !important;
}

.sidebar #logoutBtn {
  width: calc(100% - 32px) !important;
  margin: 12px 16px 16px !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 8px !important;
  border: 1px solid #fecdd3 !important;
  background: #fff7f8 !important;
  color: #c5162f !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.topbar.app-command-bar,
.app-command-bar {
  height: 72px !important;
  min-height: 72px !important;
  grid-template-columns: 1fr auto !important;
  padding: 0 24px !important;
  background: rgba(255,255,255,.92) !important;
  border-bottom: 1px solid var(--j-line) !important;
  box-shadow: none !important;
}

.command-search {
  display: none !important;
}

.command-actions {
  gap: 20px !important;
}

.command-btn {
  width: 40px !important;
  height: 48px !important;
  min-width: 40px !important;
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.command-btn::before {
  color: #344054 !important;
  font-size: 19px !important;
}

#messageToggle::before {
  content: "" !important;
  width: 19px !important;
  height: 19px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 1 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") center/19px 19px no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 1 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") center/19px 19px no-repeat !important;
}

#refreshToggle::before,
#feedbackToggle::before,
#desktopUpdateToggle::before {
  font-size: 18px !important;
}

.message-badge {
  top: 4px !important;
  right: 7px !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  border: 2px solid #fff !important;
  background: var(--j-red) !important;
  color: transparent !important;
}

.user-avatar-top {
  width: 36px !important;
  height: 36px !important;
}

.command-user-chip {
  font-size: 14px !important;
  color: #344054 !important;
}

.workspace-home {
  padding: 16px 22px 16px !important;
  gap: 14px !important;
  max-width: none !important;
}

.home-hero-card {
  height: 120px !important;
  min-height: 120px !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 18px !important;
  padding: 16px 20px !important;
  border-radius: 10px !important;
  border: 1px solid var(--j-line) !important;
  background: #fff !important;
  box-shadow: var(--j-shadow) !important;
}

.home-hero-main {
  min-height: 88px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.user-avatar-lg {
  width: 64px !important;
  height: 64px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #edf2f7, #e2e8f0) !important;
  color: #111827 !important;
  font-size: 23px !important;
}

.home-hero-main h1 {
  font-size: 24px !important;
  font-weight: 900 !important;
  margin: 0 0 8px !important;
  color: #111827 !important;
}

.home-hero-main .eyebrow {
  margin-bottom: 8px !important;
  color: var(--j-red) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.home-hero-main p:not(.eyebrow) {
  color: #667085 !important;
  font-size: 14px !important;
}

.home-weather-meta {
  min-height: 88px !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
}

.home-weather-meta #welcomeDate {
  font-size: 20px !important;
  font-weight: 900 !important;
}

.home-workbench-grid {
  display: grid !important;
  grid-template-columns: minmax(820px, 1fr) 270px !important;
  gap: 14px !important;
}

.home-gantt-panel {
  min-height: 476px !important;
  height: 476px !important;
  padding: 16px 18px !important;
  border-radius: 10px !important;
  box-shadow: var(--j-shadow) !important;
}

.home-side-stack {
  gap: 14px !important;
}

.home-side-stack .home-mini-panel {
  height: 231px !important;
}

.home-panel-head h3 {
  font-size: 18px !important;
  font-weight: 900 !important;
}

.home-panel-head .eyebrow {
  font-size: 12px !important;
  color: var(--j-red) !important;
  font-weight: 900 !important;
}

.text-link {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  border: 1px solid #ffd1d8 !important;
  background: #fff !important;
  color: var(--j-red) !important;
  font-size: 13px !important;
}

.home-gantt-head,
.home-gantt-row {
  grid-template-columns: 305px minmax(0, 1fr) !important;
}

.home-gantt-row {
  min-height: 44px !important;
}

.home-gantt-task strong {
  font-size: 13px !important;
}

.home-gantt-task span {
  font-size: 12px !important;
}

.home-gantt-track em {
  top: 15px !important;
  height: 13px !important;
  box-shadow: 0 3px 9px rgba(71,120,245,.18) !important;
}

.home-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 690px !important;
  gap: 14px !important;
}

.home-promo-banner {
  height: 210px !important;
  min-height: 210px !important;
  border-radius: 10px !important;
  padding: 26px 64px !important;
  background:
    linear-gradient(90deg, rgba(17, 24, 39, .62), rgba(17, 24, 39, .12)),
    linear-gradient(135deg, #3f6f99, #cbd5e1 55%, #f8fafc) !important;
}

.home-promo-banner h3 {
  font-size: 24px !important;
  font-weight: 900 !important;
}

.home-promo-banner span {
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 900 !important;
}

.home-quick-panel {
  height: 210px !important;
  border-radius: 10px !important;
}

.home-quick-panel .quick-entry-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.quick-entry {
  min-height: 112px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
}

.entry-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #4778f5, #6f8fff) !important;
  color: #fff !important;
}

.entry-icon::before {
  color: #fff !important;
  font-size: 20px !important;
}

.entry-air { background: linear-gradient(135deg, #8b63e7, #a98df1) !important; }
.entry-data { background: linear-gradient(135deg, #4fac68, #72c989) !important; }
.entry-service { background: linear-gradient(135deg, #ff9f2d, #ffbd66) !important; }
.entry-tool { background: linear-gradient(135deg, #4778f5, #6f8fff) !important; }

.home-todo-item,
.mini-list div {
  border-radius: 8px !important;
  border-color: #edf1f6 !important;
  background: #fff !important;
}

.mail-item.unread {
  box-shadow: inset 3px 0 0 var(--j-red) !important;
  background: #fff !important;
}

/* JPRX home/navigation visual reset v39. */
:root {
  --v39-bg: #f5f8fc;
  --v39-panel: #ffffff;
  --v39-text: #101828;
  --v39-muted: #667085;
  --v39-subtle: #98a2b3;
  --v39-line: #e6edf5;
  --v39-red: #f04452;
  --v39-red-dark: #e6293d;
  --v39-red-soft: #fff1f3;
  --v39-blue: #4778f5;
  --v39-green: #4faf66;
  --v39-orange: #ff9f2d;
  --v39-purple: #8b63e7;
  --v39-shadow: 0 14px 36px rgba(31, 43, 62, .07);
  --v39-card-shadow: 0 10px 26px rgba(31, 43, 62, .05);
}

html,
body,
button,
input,
select,
textarea,
table {
  font-family: "Inter", "Segoe UI Variable", "Segoe UI", "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body,
.app-shell,
.content {
  background: var(--v39-bg) !important;
  color: var(--v39-text) !important;
}

.app-shell {
  grid-template-columns: 232px minmax(0, 1fr) !important;
}

.sidebar {
  width: 232px !important;
  background: #fff !important;
  border-right: 1px solid var(--v39-line) !important;
  box-shadow: none !important;
}

.brand {
  height: 68px !important;
  padding: 0 18px !important;
  border-bottom: 1px solid var(--v39-line) !important;
  gap: 10px !important;
}

.brand-mark {
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(240, 68, 82, .15) !important;
  overflow: hidden !important;
}

.brand-mark img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.brand strong {
  color: #111827 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.brand small {
  color: #667085 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.sidebar-toggle {
  right: -15px !important;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #ffd6dc !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--v39-red) !important;
  box-shadow: 0 10px 20px rgba(240, 68, 82, .13) !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

#nav {
  padding: 16px 16px 10px !important;
  gap: 7px !important;
  scrollbar-color: #cfd8e3 transparent !important;
}

#nav .nav-section,
#nav .nav-subsection,
#nav .system-entry {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#nav .nav-children,
#nav .nav-grandchildren {
  margin: 4px 0 7px !important;
  padding: 0 !important;
  border: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

#nav .nav-grandchildren::before {
  display: none !important;
}

#nav button,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button,
#nav .nav-children > button,
#nav .nav-grandchildren button {
  position: relative !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) 14px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #344054 !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

#nav button span,
#nav .nav-section-toggle span,
#nav .nav-subsection-toggle span,
#nav .system-entry > button span {
  display: contents !important;
}

#nav button span:not(:has(i)),
#nav .nav-subsection-toggle span:not(:has(i)) {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#nav .nav-children > button,
#nav .nav-grandchildren button {
  padding-left: 44px !important;
  grid-template-columns: 0 minmax(0, 1fr) 0 !important;
  color: #475467 !important;
  font-size: 13px !important;
  font-weight: 720 !important;
}

#nav .nav-subsection-toggle {
  color: #344054 !important;
}

#nav button:hover,
#nav .nav-section-toggle:hover,
#nav .nav-subsection-toggle:hover,
#nav .system-entry > button:hover {
  background: #f7f9fd !important;
  color: #111827 !important;
}

#nav button.active,
#nav .nav-home-button.active,
#nav .nav-section-toggle.active,
#nav .nav-subsection-toggle.active {
  background: var(--v39-red-soft) !important;
  color: var(--v39-red-dark) !important;
}

#nav .nav-grandchildren button.active {
  background: #f8fafc !important;
  color: var(--v39-red-dark) !important;
}

#nav .nav-grandchildren button.active::before {
  display: none !important;
}

#nav b {
  justify-self: center !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  color: #98a2b3 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

#nav b::after {
  content: "" !important;
  position: absolute !important;
  top: 3px !important;
  left: 4px !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1.8px solid currentColor !important;
  border-bottom: 1.8px solid currentColor !important;
  transform: rotate(45deg) !important;
}

#nav .nav-section.collapsed .nav-section-toggle b::after,
#nav .nav-subsection.collapsed .nav-subsection-toggle b::after {
  transform: rotate(-45deg) !important;
}

#nav .oa-icon,
#nav .nav-section-toggle i,
#nav .system-entry i {
  width: 18px !important;
  height: 18px !important;
  display: inline-block !important;
  justify-self: center !important;
  color: currentColor !important;
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: .95 !important;
  -webkit-mask: var(--v39-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")) center/18px 18px no-repeat !important;
  mask: var(--v39-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")) center/18px 18px no-repeat !important;
}

#nav .oa-icon::before,
#nav .nav-section-toggle i::before,
#nav .system-entry i::before,
#nav .nav-children > button::before,
#nav .nav-grandchildren button::before,
#nav .nav-subsection-toggle span::before {
  content: "" !important;
  display: none !important;
}

#nav .oa-icon-home,
#nav [data-view="dashboard"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10.5 9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9.5 20v-6h5v6'/%3E%3C/svg%3E"); }
#nav .oa-icon-workbench,
#nav [data-nav-section="workbench"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='5'/%3E%3Cpath d='m8.5 12 2.3 2.3 4.8-5.1'/%3E%3C/svg%3E"); }
#nav [data-nav-subsection="decisions"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='16' rx='3'/%3E%3Cpath d='M9 9h6M9 13h6M9 17h3'/%3E%3C/svg%3E"); }
#nav [data-nav-subsection="customerService"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0 1 16 0'/%3E%3Cpath d='M4 12v3a2 2 0 0 0 2 2h1v-6H6a2 2 0 0 0-2 2Zm16 0v3a2 2 0 0 1-2 2h-1v-6h1a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M13 19h2a3 3 0 0 0 3-3'/%3E%3C/svg%3E"); }
#nav [data-nav-subsection="quality"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.8 12 2.1 2.2 4.4-5'/%3E%3C/svg%3E"); }
#nav .oa-icon-finance,
#nav [data-nav-section="hrFinance"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M3 21v-2a6 6 0 0 1 12 0v2'/%3E%3Cpath d='M17 8h4M19 6v4'/%3E%3C/svg%3E"); }
#nav .oa-icon-reconcile,
#nav [data-nav-section="reconcile"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7h12M4 7h.01M8 12h12M4 12h.01M8 17h12M4 17h.01'/%3E%3C/svg%3E"); }
#nav .oa-icon-database,
#nav [data-nav-section="dataSystem"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='7' ry='3'/%3E%3Cpath d='M5 5v14c0 1.7 3.1 3 7 3s7-1.3 7-3V5'/%3E%3Cpath d='M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3'/%3E%3C/svg%3E"); }
#nav .oa-icon-tools,
#nav [data-nav-section="tools"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 1 0-5.4 5.4L4 17v3h3l5.3-5.3a4 4 0 0 0 5.4-5.4Z'/%3E%3C/svg%3E"); }
#nav .oa-icon-history,
#nav [data-view="history"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 4v5h5'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
#nav .oa-icon-users,
#nav [data-view="employeeAccounts"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-8 0v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
#nav .oa-icon-code,
#nav [data-nav-section="productCenter"] { --v39-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9 4 12l4 3M16 9l4 3-4 3M14 4l-4 16'/%3E%3C/svg%3E"); }

.sidebar #logoutBtn {
  width: calc(100% - 32px) !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 12px 16px 16px !important;
  border: 1px solid #ffd6dc !important;
  border-radius: 9px !important;
  background: #fff7f8 !important;
  box-shadow: none !important;
  color: #c5162f !important;
  font-weight: 800 !important;
}

.topbar.app-command-bar,
.app-command-bar {
  height: 68px !important;
  min-height: 68px !important;
  padding: 0 28px !important;
  grid-template-columns: 1fr auto !important;
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid var(--v39-line) !important;
  box-shadow: none !important;
}

.command-search {
  max-width: 540px !important;
  height: 42px !important;
  border: 1px solid #d9e4f0 !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
  color: #344054 !important;
  box-shadow: none !important;
}

.command-actions {
  gap: 18px !important;
  align-items: center !important;
}

.command-btn {
  width: 42px !important;
  min-width: 42px !important;
  height: 50px !important;
  min-height: 50px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
}

.command-btn::before {
  color: #344054 !important;
  font-size: 18px !important;
}

#messageToggle::before {
  content: "" !important;
  width: 19px !important;
  height: 19px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 1 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M13.7 21a2 2 0 0 1-3.4 0'/%3E%3C/svg%3E") center/19px 19px no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 1 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9'/%3E%3Cpath d='M13.7 21a2 2 0 0 1-3.4 0'/%3E%3C/svg%3E") center/19px 19px no-repeat !important;
}

.message-badge {
  top: 5px !important;
  right: 8px !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  background: var(--v39-red) !important;
  color: transparent !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

.user-avatar-top {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
}

.command-user-chip {
  color: #344054 !important;
  font-size: 14px !important;
  font-weight: 780 !important;
}

.workspace-home {
  padding: 18px 24px 24px !important;
  gap: 14px !important;
  max-width: none !important;
  background: var(--v39-bg) !important;
}

.workspace-home > section {
  box-sizing: border-box !important;
}

.home-hero-card {
  min-height: 118px !important;
  height: 118px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 18px !important;
  padding: 16px 18px !important;
  border: 1px solid var(--v39-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: var(--v39-card-shadow) !important;
}

.home-hero-main {
  min-height: 84px !important;
  height: 84px !important;
  padding: 0 !important;
  gap: 20px !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-avatar-picker {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
}

.user-avatar-lg {
  width: 70px !important;
  height: 70px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #e8eef7, #f8fafc) !important;
  color: #111827 !important;
  font-size: 22px !important;
  box-shadow: 0 12px 24px rgba(31, 43, 62, .12) !important;
}

.home-hero-main .eyebrow,
.home-panel-head .eyebrow,
.home-promo-banner .eyebrow {
  margin: 0 0 8px !important;
  color: var(--v39-red-dark) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.home-hero-main h1 {
  margin: 0 0 8px !important;
  color: var(--v39-text) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.home-hero-main p:not(.eyebrow) {
  color: var(--v39-muted) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.home-weather-meta {
  min-height: 84px !important;
  height: 84px !important;
  align-self: center !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 16px 18px !important;
  background:
    linear-gradient(90deg, rgba(25, 39, 56, .78), rgba(25, 39, 56, .32)),
    linear-gradient(135deg, #91a4b8, #d7e2ec) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
  color: #fff !important;
  overflow: hidden !important;
}

.home-weather-meta span {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(15, 23, 42, .25) !important;
}

.home-weather-meta #welcomeWeekday {
  font-size: 13px !important;
  font-weight: 760 !important;
}

.home-weather-meta #welcomeDate {
  font-size: 21px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

.home-weather-meta #welcomeWeather {
  font-size: 13px !important;
  font-weight: 760 !important;
}

.home-workbench-grid {
  display: grid !important;
  grid-template-columns: minmax(780px, 1fr) 300px !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.home-gantt-panel,
.home-mini-panel,
.home-promo-banner {
  border: 1px solid var(--v39-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: var(--v39-card-shadow) !important;
}

.home-gantt-panel {
  height: 482px !important;
  min-height: 482px !important;
  padding: 16px 18px !important;
  overflow: hidden !important;
}

.home-side-stack {
  display: grid !important;
  gap: 14px !important;
}

.home-side-stack .home-mini-panel {
  height: 234px !important;
  min-height: 234px !important;
  padding: 16px !important;
}

.home-panel-head {
  margin-bottom: 14px !important;
}

.home-panel-head h3 {
  margin: 0 !important;
  color: var(--v39-text) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
}

.home-panel-head.compact h3 {
  font-size: 19px !important;
}

.text-link {
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 11px !important;
  border: 1px solid #ffd2d8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--v39-red-dark) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.home-decision-gantt {
  height: 410px !important;
}

.home-gantt-head,
.home-gantt-row {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
}

.home-gantt-head {
  height: 44px !important;
  border-bottom: 1px solid var(--v39-line) !important;
  color: #475467 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.home-gantt-days {
  display: grid !important;
  grid-template-columns: repeat(var(--home-gantt-day-count, 15), minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.home-gantt-days span {
  min-width: 0 !important;
  border-left: 0 !important;
  color: #8a9ab0 !important;
  text-align: center !important;
  font-size: 12px !important;
}

.home-gantt-days span.today {
  color: var(--v39-red-dark) !important;
  font-weight: 900 !important;
}

.home-gantt-days span.today::before {
  content: "今天" !important;
  display: block !important;
  margin-bottom: 2px !important;
  color: var(--v39-red-dark) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.home-gantt-days b {
  display: block !important;
  color: inherit !important;
  font-weight: 860 !important;
}

.home-gantt-days small {
  display: block !important;
  color: inherit !important;
  font-size: 12px !important;
}

.home-gantt-body {
  height: calc(100% - 44px) !important;
  overflow: hidden !important;
}

.home-gantt-row {
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v39-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.home-gantt-row:hover {
  background: #fbfdff !important;
}

.home-gantt-task {
  padding: 8px 14px 8px 0 !important;
  overflow: hidden !important;
}

.home-gantt-task strong {
  color: #243145 !important;
  font-size: 13px !important;
  font-weight: 860 !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.home-gantt-task span {
  margin-top: 3px !important;
  color: #667085 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.home-gantt-track {
  position: relative !important;
  overflow: hidden !important;
}

.home-gantt-track::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--home-gantt-day-width, 6.666%) - 1px), var(--v39-line) calc(var(--home-gantt-day-width, 6.666%) - 1px), var(--v39-line) var(--home-gantt-day-width, 6.666%)) !important;
}

.home-today-line {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: var(--home-gantt-today-left, 50%) !important;
  width: 1px !important;
  background: var(--v39-red) !important;
  z-index: 2 !important;
}

.home-gantt-track em {
  top: 19px !important;
  height: 13px !important;
  border-radius: 999px !important;
  box-shadow: 0 5px 12px rgba(31, 43, 62, .13) !important;
  z-index: 3 !important;
  background: var(--v39-blue) !important;
}

.home-gantt-track em.tone-0 { background: linear-gradient(90deg, #4778f5, #3f72ee) !important; }
.home-gantt-track em.tone-1 { background: linear-gradient(90deg, #4faf66, #55b86e) !important; }
.home-gantt-track em.tone-2 { background: linear-gradient(90deg, #ff9f2d, #ffb152) !important; }
.home-gantt-track em.tone-3 { background: linear-gradient(90deg, #9aa5b5, #b0b8c4) !important; }
.home-gantt-track em.tone-4 { background: linear-gradient(90deg, #4778f5, #3f72ee) !important; }
.home-gantt-track em.tone-5 { background: linear-gradient(90deg, #4faf66, #55b86e) !important; }

.home-todo-list,
.mini-list {
  display: grid !important;
  gap: 8px !important;
}

.home-todo-item,
.mini-list div {
  min-height: 40px !important;
  padding: 9px 10px !important;
  border: 1px solid #edf1f6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #344054 !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

.home-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.home-promo-banner {
  position: relative !important;
  height: 186px !important;
  min-height: 186px !important;
  padding: 30px 64px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(20, 43, 66, .67), rgba(20, 43, 66, .12)),
    var(--culture-bg, linear-gradient(135deg, #2f6489 0%, #a9c4d9 58%, #f7fbff 100%)) !important;
  background-size: cover !important;
  background-position: center !important;
  color: #fff !important;
}

.home-promo-banner .eyebrow,
.home-promo-banner h3,
.home-promo-banner span {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(15, 23, 42, .28) !important;
}

.home-promo-banner h3 {
  margin: 0 0 8px !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.home-promo-banner span {
  display: block !important;
  max-width: 470px !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

.home-culture-edit {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.42) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}

.home-culture-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 8px !important;
}

.home-culture-dots i {
  width: 8px !important;
  height: 8px !important;
  border: 1px solid rgba(255,255,255,.85) !important;
  border-radius: 999px !important;
  background: transparent !important;
}

.home-culture-dots i.active,
.home-culture-dots i:first-child {
  background: #fff !important;
}

.home-quick-panel {
  height: 186px !important;
  min-height: 186px !important;
  padding: 18px !important;
}

.home-quick-panel .quick-entry-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.quick-entry {
  min-height: 92px !important;
  padding: 12px 6px !important;
  border: 1px solid #edf1f6 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #243145 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 820 !important;
}

.quick-entry:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(31, 43, 62, .08) !important;
}

.entry-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 16px !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(71, 120, 245, .16) !important;
}

.entry-bill,
.entry-tool { background: linear-gradient(135deg, #4778f5, #6d91ff) !important; }
.entry-air { background: linear-gradient(135deg, #8b63e7, #aa8df4) !important; }
.entry-data { background: linear-gradient(135deg, #4faf66, #75c989) !important; }
.entry-service { background: linear-gradient(135deg, #ff9f2d, #ffbd66) !important; }

.mail-item.unread {
  background: #fff !important;
  box-shadow: inset 3px 0 0 var(--v39-red) !important;
}

@media (max-width: 1420px) {
  .home-workbench-grid {
    grid-template-columns: minmax(700px, 1fr) 280px !important;
  }
  .home-bottom-grid {
    grid-template-columns: minmax(0, 1fr) 380px !important;
  }
  .home-quick-panel .quick-entry-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* JPRX typography correction v40: use the installed modern Chinese face first. */
:root {
  --jprx-ui-font: "Noto Sans SC", "Source Sans Pro", "Segoe UI Variable", "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;
}

html,
body,
body *,
button,
input,
select,
textarea,
table,
.app-shell,
.sidebar,
.topbar,
.view,
.modal,
.command-panel,
.toast-stack {
  font-family: var(--jprx-ui-font) !important;
  letter-spacing: 0 !important;
  font-synthesis-weight: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.home-hero-main h1,
.home-panel-head h3,
.home-promo-banner span,
.brand strong,
#nav button,
.quick-entry,
.command-user-chip {
  font-family: var(--jprx-ui-font) !important;
  font-weight: 800 !important;
}

.home-hero-main h1,
.home-promo-banner span {
  font-weight: 900 !important;
}

/* JPRX recovery v41: restore nav behavior and responsive home layout. */
.app-shell {
  grid-template-columns: 232px minmax(0, 1fr) !important;
}

.app-shell.sidebar-collapsed {
  grid-template-columns: 72px minmax(0, 1fr) !important;
}

.sidebar {
  width: 232px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.app-shell.sidebar-collapsed .sidebar {
  width: 72px !important;
}

.app-shell.sidebar-collapsed .brand {
  justify-content: center !important;
  padding: 0 10px !important;
}

.app-shell.sidebar-collapsed .brand > div,
.app-shell.sidebar-collapsed #logoutBtn,
.app-shell.sidebar-collapsed #nav .nav-children,
.app-shell.sidebar-collapsed #nav .nav-subsection,
.app-shell.sidebar-collapsed #nav .nav-grandchildren,
.app-shell.sidebar-collapsed #nav b {
  display: none !important;
}

#nav {
  display: grid !important;
  gap: 6px !important;
  padding: 14px 16px 12px !important;
}

#nav .nav-section,
#nav .nav-subsection,
#nav .system-entry {
  display: block !important;
}

#nav .nav-children,
#nav .nav-grandchildren {
  display: grid !important;
  gap: 3px !important;
  margin: 3px 0 7px !important;
  padding: 0 !important;
}

#nav button,
#nav .nav-section-toggle,
#nav .nav-subsection-toggle,
#nav .system-entry > button,
#nav .nav-children > button,
#nav .nav-grandchildren button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  gap: 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #344054 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

#nav button span,
#nav .nav-section-toggle span,
#nav .nav-subsection-toggle span,
#nav .system-entry > button span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#nav .nav-children > button,
#nav .nav-grandchildren button {
  padding-left: 44px !important;
  font-size: 13px !important;
  font-weight: 720 !important;
}

#nav .nav-subsection-toggle {
  padding-left: 14px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

#nav .oa-icon,
#nav .nav-section-toggle i,
#nav .system-entry i {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
}

#nav b {
  position: relative !important;
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  margin-left: auto !important;
}

#nav button.active,
#nav .nav-section-toggle.active,
#nav .nav-subsection-toggle.active {
  background: #fff1f3 !important;
  color: #e6293d !important;
}

.app-shell.sidebar-collapsed #nav {
  padding: 14px 12px !important;
}

.app-shell.sidebar-collapsed #nav .nav-section-toggle,
.app-shell.sidebar-collapsed #nav .system-entry > button {
  width: 48px !important;
  height: 44px !important;
  min-height: 44px !important;
  justify-content: center !important;
  padding: 0 !important;
}

.app-shell.sidebar-collapsed #nav .nav-section-toggle span,
.app-shell.sidebar-collapsed #nav .system-entry > button span {
  flex: 0 0 auto !important;
  width: 20px !important;
  gap: 0 !important;
  font-size: 0 !important;
  overflow: visible !important;
}

.app-shell.sidebar-collapsed #nav .nav-section-toggle i,
.app-shell.sidebar-collapsed #nav .system-entry i {
  margin: 0 !important;
}

.command-actions {
  gap: 12px !important;
}

.command-btn {
  width: 60px !important;
  min-width: 60px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 6px 4px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  overflow: visible !important;
  white-space: nowrap !important;
  line-height: 1.05 !important;
  font-size: 12px !important;
}

.command-btn::before {
  display: block !important;
  margin: 0 !important;
  line-height: 1 !important;
}

#desktopUpdateToggle {
  width: 68px !important;
  min-width: 68px !important;
}

#desktopUpdateToggle::before {
  content: "" !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") center/18px 18px no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") center/18px 18px no-repeat !important;
}

.workspace-home {
  grid-template-columns: 1fr !important;
  padding: 16px 22px 24px !important;
  overflow-x: hidden !important;
}

.home-hero-card,
.home-workbench-grid,
.home-bottom-grid {
  width: 100% !important;
  min-width: 0 !important;
}

.home-hero-card {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
}

.home-workbench-grid {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px) !important;
}

.home-gantt-panel {
  min-width: 0 !important;
  overflow: hidden !important;
}

.home-decision-gantt {
  min-width: 0 !important;
  width: 100% !important;
}

.home-gantt-head,
.home-gantt-row {
  grid-template-columns: clamp(210px, 24%, 300px) minmax(0, 1fr) !important;
}

.home-gantt-days {
  grid-template-columns: repeat(var(--home-gantt-day-count, 15), minmax(0, 1fr)) !important;
}

.home-gantt-track::before {
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--home-gantt-day-width, 6.666%) - 1px), #e6edf5 calc(var(--home-gantt-day-width, 6.666%) - 1px), #e6edf5 var(--home-gantt-day-width, 6.666%)) !important;
}

.home-today-line {
  left: var(--home-gantt-today-left, 50%) !important;
}

.home-gantt-days span {
  font-size: 12px !important;
  overflow: hidden !important;
}

.home-gantt-days span.today::before {
  margin-bottom: 0 !important;
}

.home-bottom-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
}

.home-promo-banner {
  height: 186px !important;
  min-height: 186px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.home-promo-banner.has-culture-image {
  background-size: cover !important;
  background-position: center !important;
}

@media (max-width: 1180px) {
  .home-hero-card,
  .home-workbench-grid,
  .home-bottom-grid {
    grid-template-columns: 1fr !important;
  }

  .home-weather-meta {
    width: 100% !important;
  }

  .home-side-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-bottom-grid {
    align-items: stretch !important;
  }
}

@media (max-width: 820px) {
  .app-shell,
  .app-shell.sidebar-collapsed {
    grid-template-columns: 1fr !important;
  }

  .sidebar {
    display: none !important;
  }

  .topbar.app-command-bar,
  .app-command-bar {
    padding: 0 12px !important;
  }

  .command-search {
    display: none !important;
  }

  .home-side-stack {
    grid-template-columns: 1fr !important;
  }

  .home-gantt-head,
  .home-gantt-row {
    grid-template-columns: 160px minmax(0, 1fr) !important;
  }
}

/* JPRX recovery v42: visibility, nav hierarchy, and old pseudo icon cleanup. */
.view.hidden,
#dashboardView.hidden,
.workspace-home.hidden,
.product-center-view.hidden {
  display: none !important;
  visibility: hidden !important;
}

.view:not(.hidden) {
  display: block !important;
}

.workspace-home:not(.hidden) {
  display: grid !important;
  visibility: visible !important;
}

#nav button::before,
#nav .nav-section-toggle::before,
#nav .nav-subsection-toggle::before,
#nav .nav-children > button::before,
#nav .nav-grandchildren button::before,
#nav .nav-subsection-toggle span::before,
#nav button.active::before,
#nav .nav-grandchildren button.active::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}

#nav .oa-icon::before,
#nav .nav-section-toggle i::before,
#nav .system-entry i::before {
  content: "" !important;
  display: none !important;
}

#nav .nav-section-toggle,
#nav .system-entry > button {
  padding-left: 12px !important;
  font-size: 14px !important;
  font-weight: 820 !important;
}

#nav .nav-children {
  margin: 2px 0 8px !important;
  gap: 3px !important;
}

#nav .nav-children > button {
  height: 36px !important;
  min-height: 36px !important;
  padding-left: 48px !important;
  color: #344054 !important;
  font-size: 13px !important;
  font-weight: 720 !important;
}

#nav .nav-subsection {
  margin: 4px 0 0 !important;
}

#nav .nav-subsection-toggle {
  height: 38px !important;
  min-height: 38px !important;
  padding-left: 36px !important;
  padding-right: 10px !important;
  color: #344054 !important;
  font-size: 13px !important;
  font-weight: 820 !important;
  background: transparent !important;
}

#nav .nav-subsection-toggle:hover,
#nav .nav-subsection-toggle.active {
  background: #fff1f3 !important;
  color: #e6293d !important;
}

#nav .nav-grandchildren {
  margin: 2px 0 6px !important;
  gap: 2px !important;
}

#nav .nav-grandchildren button {
  height: 34px !important;
  min-height: 34px !important;
  padding-left: 58px !important;
  color: #596579 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  background: transparent !important;
}

#nav .nav-grandchildren button.active {
  background: #f8fafc !important;
  color: #e6293d !important;
}

.app-shell.sidebar-collapsed #nav .nav-section-toggle,
.app-shell.sidebar-collapsed #nav .system-entry > button {
  padding: 0 !important;
}

.app-shell.sidebar-collapsed #nav .nav-section-toggle span,
.app-shell.sidebar-collapsed #nav .system-entry > button span {
  display: inline-flex !important;
  justify-content: center !important;
}

/* JPRX recovery v43: restore menu collapse and form readability. */
#nav .nav-section.collapsed > .nav-children,
#nav .nav-subsection.collapsed > .nav-grandchildren {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

#nav .nav-section:not(.collapsed) > .nav-children {
  display: grid !important;
}

#nav .nav-subsection:not(.collapsed) > .nav-grandchildren {
  display: grid !important;
}

#nav .nav-section.collapsed > .nav-section-toggle b::after,
#nav .nav-subsection.collapsed > .nav-subsection-toggle b::after {
  transform: rotate(-45deg) !important;
}

#nav .nav-section:not(.collapsed) > .nav-section-toggle b::after,
#nav .nav-subsection:not(.collapsed) > .nav-subsection-toggle b::after {
  transform: rotate(45deg) !important;
}

input,
select,
textarea,
button {
  line-height: 1.35 !important;
}

select,
input[type="text"],
input[type="password"],
input[type="month"],
input[type="number"],
input[type="date"],
input[type="search"] {
  min-height: 40px !important;
  height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

#employeeAccountsView .account-form input,
#employeeAccountsView .account-form select,
#employeeAccountsView .permission-presets select,
#employeeAccountsView .permission-presets input {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  line-height: 42px !important;
  overflow: visible !important;
}

#employeeAccountsView .account-form .inline-field input {
  min-width: 0 !important;
}

#employeeAccountsView .permission-presets {
  grid-template-columns: 110px minmax(220px, 280px) auto 110px minmax(190px, 260px) auto auto !important;
}

#employeeAccountsView .account-form .form-grid {
  grid-template-columns: 120px minmax(260px, 1fr) 120px minmax(260px, 1fr) !important;
}

#dataSystemPeriod {
  min-width: 170px !important;
}

.data-system-meta strong,
.data-system-meta span,
.data-system-empty strong,
.data-system-empty span {
  white-space: normal !important;
  word-break: break-word !important;
}

/* JPRX recovery v44: align menu arrows and reduce remaining mojibake surfaces. */
#nav .nav-section-toggle,
#nav .nav-subsection-toggle {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#nav .nav-section-toggle span,
#nav .nav-subsection-toggle span {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#nav .nav-section-toggle b,
#nav .nav-subsection-toggle b {
  position: relative !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin-left: auto !important;
  align-self: center !important;
  transform: none !important;
}

#nav .nav-section-toggle b::after,
#nav .nav-subsection-toggle b::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 4px !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 1.7px solid currentColor !important;
  border-bottom: 1.7px solid currentColor !important;
  transform-origin: center !important;
}

#nav .nav-section:not(.collapsed) > .nav-section-toggle b::after,
#nav .nav-subsection:not(.collapsed) > .nav-subsection-toggle b::after {
  transform: rotate(45deg) !important;
}

#nav .nav-section.collapsed > .nav-section-toggle b::after,
#nav .nav-subsection.collapsed > .nav-subsection-toggle b::after {
  transform: rotate(-45deg) !important;
}

#nav .nav-subsection-toggle {
  padding-left: 36px !important;
  padding-right: 12px !important;
}

#nav .nav-grandchildren button,
#nav .nav-children > button {
  text-overflow: ellipsis !important;
}

.record-header h2,
.record-header h3,
.record-header p,
.view h2,
.view h3,
.view p {
  overflow-wrap: anywhere;
}

/* Final todo center overrides. Keep these at the end because older home resets also target .home-todo-item. */
.todo-three-col {
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.15fr) minmax(320px, 1.15fr) !important;
  align-items: stretch !important;
}

.todo-center-list .home-todo-item {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: 72px !important;
  padding: 14px 16px !important;
}

.todo-center-list .home-todo-item b {
  align-self: center !important;
  line-height: 1 !important;
  text-align: center !important;
}

.todo-center-list .home-todo-item strong,
.todo-center-list .home-todo-item small {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.todo-center-list .home-todo-item strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

.todo-history-list .todo-history-item {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

.todo-history-list .todo-result-badge {
  grid-column: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  margin-top: 8px !important;
  min-width: 72px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

@media (max-width: 1280px) {
  .todo-three-col {
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 1fr) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .todo-preview-panel {
    grid-column: 1 / -1 !important;
    min-height: 260px !important;
  }
}

@media (max-width: 860px) {
  .todo-three-col {
    grid-template-columns: 1fr !important;
  }

  .todo-active-panel,
  .todo-history-panel,
  .todo-preview-panel {
    min-width: 0 !important;
  }
}


/* JPRX inventory data migration v55 */
.data-system-table.inventory-flat {
  overflow: visible;
  max-height: none;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.inventory-flat {
  display: grid;
  gap: 12px;
}

.inventory-flat .inventory-section,
.inventory-dashboard,
.inventory-other-card {
  border: 1px solid #d9e4ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(19, 43, 54, 0.05);
}

.inventory-flat .inventory-section + .inventory-section {
  border-top: 1px solid #d9e4ea;
}

.inventory-table-frame {
  overflow: visible;
  max-height: none;
  border: 1px solid #e6edf2;
  border-radius: 8px;
  background: #fff;
}

.inventory-table-frame table {
  width: 100%;
}

.inventory-dashboard {
  display: grid;
  grid-template-columns: minmax(520px, 1fr) minmax(360px, 0.7fr);
  gap: 12px;
  padding: 12px;
  align-items: stretch;
}

.inventory-dashboard .compact-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.inventory-dashboard .metrics article {
  min-height: 78px;
  padding: 10px 12px;
}

.inventory-dashboard .metrics strong {
  margin-top: 5px;
  font-size: 20px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.inventory-dashboard .metrics small {
  display: block;
  margin-top: 4px;
  color: #6f7f86;
  font-size: 12px;
}

.inventory-dashboard .inventory-curve-panel {
  margin: 0;
  min-width: 0;
}

.inventory-dashboard .inventory-curve {
  max-width: none;
  height: 128px;
}

.inventory-tabs {
  display: inline-flex;
  width: fit-content;
  gap: 4px;
  padding: 4px;
  border: 1px solid #d9e4ea;
  border-radius: 8px;
  background: #f5f7f9;
}

.inventory-tabs button {
  min-height: 32px;
  padding: 6px 14px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #4f6470;
  font-weight: 800;
  cursor: pointer;
}

.inventory-tabs button.active {
  background: #fff;
  color: #d93650;
  box-shadow: 0 6px 16px rgba(35, 43, 52, 0.08);
}

.inventory-warehouse-group {
  border: 1px solid #e4ebf0;
  border-radius: 8px;
  background: #fff;
  margin-bottom: 8px;
}

.inventory-warehouse-group summary,
.inventory-other-card summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 12px;
  color: #24343c;
  font-weight: 800;
}

.inventory-warehouse-group summary span,
.inventory-other-card summary span {
  color: #6f7f86;
  font-size: 12px;
  font-weight: 700;
}

.inventory-warehouse-group .inventory-table-frame,
.inventory-other-card .inventory-table-frame {
  margin: 0 12px 12px;
}

.inventory-other-card {
  padding: 0;
}

#inventoryWarehouseMaskList {
  max-height: none;
  overflow: visible;
}

@media (max-width: 1180px) {
  .inventory-dashboard {
    grid-template-columns: 1fr;
  }
  .inventory-dashboard .compact-metrics {
    grid-template-columns: repeat(5, minmax(110px, 1fr));
  }
}

@media (max-width: 760px) {
  .inventory-dashboard .compact-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inventory-tabs {
    width: 100%;
  }
  .inventory-tabs button {
    flex: 1;
  }
}

.inventory-page-tabs {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid #d9e4ea;
  background: #fff;
  border-radius: 8px 8px 0 0;
  padding: 0 12px;
}

.inventory-page-tabs button {
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #4f6470;
  font-weight: 800;
  cursor: pointer;
}

.inventory-page-tabs button.active {
  color: #d93650;
  border-bottom-color: #d93650;
  background: #fff7f8;
}

.inventory-page-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid #d9e4ea;
  border-top: 0;
  background: #fff;
}

.inventory-page-filters label {
  display: grid;
  gap: 5px;
  color: #60727c;
  font-size: 12px;
  font-weight: 800;
}

.inventory-page-filters select,
.inventory-page-filters input,
.inventory-category-input {
  min-height: 34px;
  border: 1px solid #d9e4ea;
  border-radius: 6px;
  padding: 0 9px;
  background: #fff;
  color: #24343c;
}

.inventory-product-layout {
  display: grid;
  grid-template-columns: minmax(620px, 1.35fr) minmax(360px, 0.65fr);
  gap: 12px;
  align-items: start;
}

.inventory-product-detail {
  display: grid;
  gap: 12px;
}

.inventory-scroll-table {
  max-height: 520px;
  overflow: auto;
}

.inventory-product-list .inventory-table-frame table,
.inventory-table-frame table {
  border-collapse: collapse;
}

.inventory-group-row td {
  background: #f4f8fb;
  color: #24343c;
  font-weight: 800;
}

.inventory-group-row td span {
  margin-left: 18px;
  color: #60727c;
  font-size: 12px;
  font-weight: 700;
}


.inventory-child-row td {
  background: #fff;
}

.inventory-child-row:hover td,
.inventory-product-summary tbody tr:hover td,
.inventory-product-summary tbody tr.active td {
  background: #fff3f5;
}

.inventory-settings-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.35fr) minmax(520px, 0.65fr);
  gap: 12px;
}

.inventory-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 12px;
}

.inventory-check-grid label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  color: #43545c;
  font-size: 13px;
}

.inventory-flat .inventory-section {
  border: 1px solid #d9e4ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(19, 43, 54, 0.05);
}

.inventory-product-detail .inventory-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inventory-product-detail .metrics article {
  min-height: 66px;
  padding: 10px 12px;
}

.inventory-product-detail .metrics strong {
  font-size: 18px;
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  .inventory-page-filters,
  .inventory-product-layout,
  .inventory-settings-grid {
    grid-template-columns: 1fr;
  }
  .inventory-page-tabs {
    overflow-x: auto;
  }
}

@media (max-width: 760px) {
  .inventory-page-filters {
    grid-template-columns: 1fr;
  }
  .inventory-page-tabs button {
    min-width: 110px;
  }
}
.inventory-warehouse-page {
  gap: 12px;
}

.inventory-warehouse-accordion {
  display: grid;
  gap: 10px;
}

.inventory-warehouse-table-group {
  border: 1px solid #d9e4ea;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.inventory-warehouse-table-group summary {
  cursor: pointer;
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(120px, 1fr));
  gap: 12px;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  background: #f4f8fb;
  color: #60727c;
  font-size: 13px;
  font-weight: 800;
}

.inventory-warehouse-table-group summary::-webkit-details-marker {
  color: #d93650;
}

.inventory-warehouse-name {
  color: #24343c;
  font-size: 14px;
}

.inventory-warehouse-table-group .inventory-table-frame {
  margin: 0;
  border: 0;
  border-top: 1px solid #e6edf2;
  border-radius: 0;
}

.inventory-warehouse-table-group:not([open]) summary {
  border-bottom: 0;
}

@media (max-width: 980px) {
  .inventory-warehouse-table-group summary {
    grid-template-columns: 1fr 1fr;
  }
}
/* Inventory responsive refinements */
.inventory-flat,
.inventory-flat * {
  box-sizing: border-box;
}

.inventory-table-frame {
  width: 100%;
  overflow-x: auto;
}

.inventory-table-frame table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.inventory-table-frame th,
.inventory-table-frame td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  vertical-align: top;
}

.inventory-table-frame th:first-child,
.inventory-table-frame td:first-child {
  max-width: 320px;
}

.inventory-page-filters {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.inventory-product-layout {
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
}

.inventory-product-detail,
.inventory-product-list,
.inventory-section,
.inventory-curve-panel {
  min-width: 0;
}

.inventory-product-detail .inventory-metrics,
.inventory-dashboard .compact-metrics {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

.inventory-product-detail .metrics article,
.inventory-dashboard .metrics article {
  min-width: 0;
}

.inventory-warehouse-table-group summary {
  grid-template-columns: minmax(160px, 1.5fr) repeat(4, minmax(90px, 1fr));
  gap: 8px;
}

.inventory-settings-grid {
  grid-template-columns: minmax(220px, 0.3fr) minmax(0, 0.7fr);
}

.inventory-check-grid.compact {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 4px 8px;
}

.inventory-check-grid.compact label {
  min-height: 24px;
  padding: 2px 0;
  gap: 5px;
  font-size: 12px;
  line-height: 1.25;
}

.inventory-check-grid.compact input,
.inventory-compact-check {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  margin: 0;
}

.inventory-settings-table th:first-child,
.inventory-settings-table td:first-child {
  width: 52px;
  max-width: 52px;
  text-align: center;
}

.inventory-settings-table td:nth-child(2) {
  min-width: 220px;
}

.inventory-category-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.inventory-category-tools input,
.inventory-category-select {
  min-height: 32px;
  border: 1px solid #d9e4ea;
  border-radius: 6px;
  padding: 0 8px;
  background: #fff;
  color: #24343c;
}

.inventory-category-tools button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #d9e4ea;
  border-radius: 6px;
  background: #f8fbfd;
  color: #24343c;
  font-weight: 800;
  cursor: pointer;
}

.inventory-category-select {
  width: 100%;
  max-width: 220px;
}

@media (max-width: 980px) {
  .inventory-product-layout,
  .inventory-settings-grid {
    grid-template-columns: 1fr;
  }
  .inventory-warehouse-table-group summary {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
}
.inventory-filter-field {
  position: relative;
  display: grid;
  gap: 5px;
  color: #60727c;
  font-size: 12px;
  font-weight: 800;
}

.inventory-multi-select {
  position: relative;
}

.inventory-multi-select summary {
  min-height: 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid #d9e4ea;
  border-radius: 6px;
  padding: 0 9px;
  background: #fff;
  color: #24343c;
  cursor: pointer;
  list-style: none;
}

.inventory-multi-select summary::-webkit-details-marker {
  display: none;
}

.inventory-multi-select summary span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-multi-select summary b {
  color: #4f6f82;
  font-size: 11px;
}

.inventory-multi-panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  width: min(320px, 80vw);
  border: 1px solid #c8d6de;
  background: #fff;
  box-shadow: 0 12px 28px rgba(28, 46, 56, 0.14);
}

.inventory-multi-search {
  width: calc(100% - 12px);
  margin: 6px;
  min-height: 28px;
  border: 1px solid #cfdce4;
  border-radius: 3px;
  padding: 0 8px;
}

.inventory-multi-all,
.inventory-multi-option {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 26px;
  padding: 3px 8px;
  color: #24343c;
  font-size: 13px;
  font-weight: 500;
}

.inventory-multi-all {
  border-bottom: 1px solid #edf2f5;
}

.inventory-multi-option:hover {
  background: #eef4ff;
}

.inventory-multi-option input:checked + span {
  color: #1d4ed8;
  font-weight: 700;
}

.inventory-multi-list {
  max-height: 190px;
  overflow-y: auto;
}

.inventory-multi-footer {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 6px;
  padding: 7px 8px;
  border-top: 1px solid #d9e4ea;
  background: #f7fafc;
  color: #24343c;
  font-size: 12px;
}

.inventory-multi-footer button {
  min-height: 28px;
  border: 1px solid #cfd8e3;
  border-radius: 3px;
  padding: 0 12px;
  background: #fff;
  color: #24343c;
}

.inventory-multi-footer button.primary {
  border-color: #5b8def;
  background: #5b8def;
  color: #fff;
}


.inventory-multi-select input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 14px;
  height: 14px;
  min-width: 14px;
  max-width: 14px;
  min-height: 14px;
  max-height: 14px;
  margin: 0;
  padding: 0;
  transform: none;
  accent-color: #2f6fd6;
}

.inventory-multi-all,
.inventory-multi-option {
  line-height: 18px;
}

.inventory-multi-all span,
.inventory-multi-option span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-page-filters .inventory-multi-all,
.inventory-page-filters .inventory-multi-option {
  display: flex;
  grid-template-columns: none;
  flex-direction: row;
  align-items: center;
  gap: 7px;
}

.inventory-page-filters .inventory-multi-all input,
.inventory-page-filters .inventory-multi-option input {
  flex: 0 0 14px;
}

.inventory-laike-page {
  display: grid;
  gap: 12px;
}

.inventory-laike-module header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.inventory-laike-module header h4 {
  margin: 0;
}

.inventory-laike-table input {
  width: 100%;
  min-width: 110px;
  min-height: 30px;
  border: 1px solid #d9e4ea;
  border-radius: 4px;
  padding: 0 8px;
  background: #fff;
  color: #24343c;
}

.inventory-laike-table input[type="number"] {
  min-width: 76px;
}

.inventory-laike-table button.ghost {
  min-height: 28px;
  border: 1px solid #f1b5bf;
  border-radius: 4px;
  background: #fff7f8;
  color: #c62842;
  padding: 0 10px;
}

.inventory-laike-order,
.inventory-laike-history {
  gap: 12px;
}

.inventory-laike-form,
.inventory-laike-history-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  align-items: end;
}

.inventory-laike-form label,
.inventory-laike-history-filters label {
  display: grid;
  gap: 5px;
  color: #60727c;
  font-size: 12px;
  font-weight: 800;
}

.inventory-laike-form label.wide {
  grid-column: span 2;
}

.inventory-laike-form input,
.inventory-laike-form select,
.inventory-laike-history-filters input,
.inventory-laike-history-filters select {
  min-height: 34px;
  border: 1px solid #d9e4ea;
  border-radius: 6px;
  padding: 0 9px;
  background: #fff;
  color: #24343c;
}

.inventory-laike-form button,
.inventory-laike-history-filters button {
  min-height: 34px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  padding: 0 14px;
  background: #fff;
  color: #24343c;
}

.inventory-laike-form button.primary,
.inventory-laike-history-filters button.primary {
  border-color: #d93650;
  background: #d93650;
  color: #fff;
}

@media (max-width: 760px) {
  .inventory-laike-form label.wide {
    grid-column: auto;
  }
}

.inventory-laike-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.inventory-laike-actions button {
  min-height: 30px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  padding: 0 12px;
  background: #fff;
  color: #24343c;
}

.inventory-laike-actions button.primary {
  border-color: #d93650;
  background: #d93650;
  color: #fff;
}

.inventory-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(18, 31, 38, 0.42);
}

.inventory-modal {
  position: relative;
  width: min(1080px, 94vw);
  max-height: 88vh;
  overflow: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(18, 31, 38, 0.28);
}

.inventory-modal .inventory-section {
  border: 0;
  box-shadow: none;
}

.inventory-modal-close {
  position: sticky;
  top: 10px;
  z-index: 1;
  float: right;
  min-height: 30px;
  margin: 10px 10px 0 0;
  border: 1px solid #d9e4ea;
  border-radius: 6px;
  background: #fff;
  color: #24343c;
  padding: 0 12px;
}

.inventory-laike-order-table input,
.inventory-laike-order-table select {
  width: 100%;
  min-width: 110px;
  min-height: 30px;
  border: 1px solid #d9e4ea;
  border-radius: 4px;
  padding: 0 8px;
  background: #fff;
  color: #24343c;
}

.inventory-laike-order-table input[type="number"] {
  min-width: 78px;
}

.inventory-laike-order-table button {
  min-height: 28px;
  border: 1px solid #f1b5bf;
  border-radius: 4px;
  background: #fff7f8;
  color: #c62842;
  padding: 0 10px;
}

.inventory-laike-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

.inventory-laike-form-actions button {
  min-height: 34px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  background: #fff;
  color: #24343c;
  padding: 0 14px;
}

.inventory-laike-form-actions button.primary {
  border-color: #d93650;
  background: #d93650;
  color: #fff;
}

.inventory-ai-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border: 1px solid #d9e4ea;
  border-top: 0;
  background: linear-gradient(90deg, #fff7f8 0%, #ffffff 52%);
}

.inventory-ai-panel h4 {
  margin: 0 0 4px;
  color: #172a35;
}

.inventory-ai-panel p {
  margin: 0;
  color: #60727c;
  font-size: 13px;
}

.inventory-ai-panel button {
  min-height: 34px;
  border: 1px solid #d93650;
  border-radius: 6px;
  padding: 0 14px;
  background: #d93650;
  color: #fff;
  white-space: nowrap;
}

.inventory-ai-panel button:disabled {
  opacity: 0.65;
}

.inventory-ai-panel article {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid #f3c6ce;
  border-radius: 8px;
  background: #fff;
}

.inventory-ai-panel article strong {
  color: #172a35;
}

.inventory-ai-panel pre {
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  line-height: 1.7;
  color: #24343c;
}


.inventory-ai-progress {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inventory-ai-progress li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  color: #60727c;
}

.inventory-ai-progress li span {
  display: inline-grid;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  place-items: center;
  border-radius: 999px;
  background: #eef4f7;
  color: #49616b;
  font-size: 12px;
  font-weight: 800;
}

.inventory-ai-progress li strong {
  font-size: 13px;
  font-weight: 700;
}

.inventory-ai-progress li.done span {
  background: #e6f6ee;
  color: #168650;
}

.inventory-ai-progress li.active span {
  background: #fff0f3;
  color: #d93650;
}

.inventory-ai-progress li.active strong {
  color: #d93650;
}
.inventory-ai-panel small {
  color: #7b8b94;
}

@media (max-width: 760px) {
  .inventory-ai-panel {
    grid-template-columns: 1fr;
  }
}

/* Home culture banner: uploaded artwork must render as-is, without dark mask or duplicated edit label. */
.home-promo-banner,
.home-promo-banner.has-culture-image {
  padding: 0 !important;
  background-image: var(--culture-bg, linear-gradient(135deg, #eef4fb 0%, #f8fbff 100%)) !important;
  background-color: #f8fbff !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: inherit !important;
  text-shadow: none !important;
}

.home-promo-banner.has-culture-image {
  background-image: var(--culture-bg) !important;
}

.home-promo-banner > div:not(.home-culture-dots) {
  display: none !important;
}

.home-promo-banner .eyebrow,
.home-promo-banner h3,
.home-promo-banner span {
  color: inherit !important;
  text-shadow: none !important;
}

.home-culture-edit {
  font-size: 13px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, .18) !important;
  border-color: rgba(255, 255, 255, .58) !important;
  backdrop-filter: none !important;
}

.home-culture-edit::before {
  content: none !important;
}

/* Customer desk v57: process badges, compact handover text, and aligned after-sales controls. */
.customer-processing-panel .customer-process-info span,
.customer-process-info span {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  gap: 1px !important;
  line-height: 1.18 !important;
}

.customer-processing-panel .customer-process-info span i,
.customer-process-info span i {
  display: block !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: #26384d !important;
  white-space: pre-line !important;
}

.customer-processing-panel .customer-process-info span em,
.customer-process-info span em {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  margin-top: 2px !important;
  padding: 1px 6px !important;
  border: 1px solid #f4c7d0 !important;
  border-radius: 999px !important;
  background: #fff6f8 !important;
  color: #c8213d !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

#customerReturnForm .customer-after-row {
  align-items: end !important;
}

#customerReturnForm .customer-after-row label {
  align-self: end !important;
}

#customerReturnForm .customer-after-row select {
  height: 34px !important;
  min-height: 34px !important;
}

.customer-order-card .customer-progress-list,
.customer-order-card .handover-reason,
.customer-order-card .handover-reason span,
.customer-order-card .handover-reason small {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.18 !important;
  white-space: pre-line !important;
}

.customer-order-card .handover-reason + .handover-reason {
  margin-top: 2px !important;
}

.customer-order-card .handover-reason small {
  display: block !important;
  color: #6b7c8f !important;
  font-size: 12px !important;
}

.customer-order-card .handover-reason button {
  margin-top: 2px !important;
}

/* Customer desk v58: separate content alignment from labels, keep pager centered. */
.customer-processing-panel .customer-process-info span,
.customer-process-info span {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  text-align: left !important;
  gap: 1px !important;
}

.customer-processing-panel .customer-process-info span b,
.customer-process-info span b {
  align-self: start !important;
  justify-self: start !important;
}

.customer-processing-panel .customer-process-info span i,
.customer-process-info span i {
  align-self: center !important;
  justify-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.customer-processing-panel .customer-process-info span em,
.customer-process-info span em {
  justify-self: start !important;
  padding: 0 5px !important;
  min-width: 18px !important;
  justify-content: center !important;
}

.customer-order-card .handover-reason small {
  margin-top: 1px !important;
}

.customer-order-card .handover-reason.done span {
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px !important;
}

.customer-ledger-pager {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 8px 180px !important;
}

.customer-ledger-pager > span {
  position: absolute !important;
  left: 12px !important;
}

.customer-ledger-pager > div {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* Customer process v59: compact order/service columns, then split progress/handover/remark evenly. */
.customer-processing-panel .customer-process-info {
  grid-template-columns:
    76px
    106px
    66px
    116px
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    170px
    190px !important;
  grid-template-rows: minmax(76px, auto) minmax(128px, auto) !important;
}

.customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-5 { grid-column: 5 / 11 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-6 { grid-column: 11 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-11 { grid-column: 12 !important; grid-row: 1 !important; }
.customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-9 { grid-column: 4 / 7 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-10 { grid-column: 7 / 10 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-12 { grid-column: 10 / 13 !important; grid-row: 2 !important; }

.customer-processing-panel .customer-process-field-7,
.customer-processing-panel .customer-process-field-8,
.customer-processing-panel .customer-process-field-9,
.customer-processing-panel .customer-process-field-10,
.customer-processing-panel .customer-process-field-12 {
  min-height: 128px !important;
}

/* Customer process v61: widen order service and give a little space back from remark. */
.customer-processing-panel .customer-process-info {
  grid-template-columns:
    76px
    106px
    66px
    116px
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    170px
    190px !important;
}

.customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-8 { grid-column: 3 / 5 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-9 { grid-column: 5 / 8 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-10 { grid-column: 8 / 10 !important; grid-row: 2 !important; }
.customer-processing-panel .customer-process-field-12 { grid-column: 10 / 13 !important; grid-row: 2 !important; }

/* Customer desk v70 final override: this block must stay last. */
@media (max-width: 1280px) {
  .customer-processing-panel .customer-process-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 6px !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .customer-processing-panel .customer-process-info span {
    flex: 1 1 94px !important;
    min-width: 74px !important;
    min-height: 74px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    box-sizing: border-box !important;
  }

  .customer-processing-panel .customer-process-info span b {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 240px !important;
    min-height: 112px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-7 {
    flex: 1 1 220px !important;
    min-height: 112px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-8,
  .customer-processing-panel .customer-process-info .customer-process-field-11 {
    flex: 1 1 110px !important;
  }
}

@media (max-width: 860px) {
  .customer-processing-panel .customer-process-info span {
    flex-basis: calc(50% - 6px) !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-7,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
}

/* Customer desk v72: absolute final small-window override. Keep this at EOF. */
@media (max-width: 1280px) {
  .customer-main-workarea {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .customer-main-workarea > .customer-processing-panel,
  .customer-main-workarea > .customer-consult-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .customer-main-workarea > .customer-processing-panel {
    order: 1 !important;
  }

  .customer-main-workarea > .customer-consult-form {
    order: 2 !important;
  }

  .customer-processing-panel .customer-process-info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    overflow: visible !important;
  }

  .customer-processing-panel .customer-process-info span {
    flex: 1 1 108px !important;
    min-width: 92px !important;
    min-height: 74px !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex: 2 1 260px !important;
    min-width: 240px !important;
    min-height: 112px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-7 {
    flex: 2 1 260px !important;
    min-height: 112px !important;
  }

  .customer-processing-panel .record-header.compact {
    align-items: start !important;
    gap: 10px !important;
  }

  .customer-processing-panel .customer-process-search {
    min-width: 0 !important;
    flex: 1 1 360px !important;
  }

  .customer-processing-panel .customer-process-search .search {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* Customer desk v76: laptop app windows use readable stacked work areas instead of squeezed columns. */
@media (max-width: 1440px) {
  .customer-desk-grid,
  .customer-main-workarea {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .customer-main-workarea > .customer-processing-panel {
    order: 1 !important;
  }

  .customer-main-workarea > .customer-consult-form {
    order: 2 !important;
  }

  .customer-processing-panel,
  .customer-consult-form,
  .customer-main-workarea > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .customer-processing-panel {
    overflow: visible !important;
  }

  .customer-processing-panel > .record-header,
  .customer-processing-panel .record-header.compact {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .customer-processing-panel .customer-process-search {
    flex: 1 1 420px !important;
    min-width: 280px !important;
    max-width: 100% !important;
  }

  .customer-processing-panel .customer-process-search .search {
    min-width: 0 !important;
  }

  .customer-processing-panel .customer-process-info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .customer-processing-panel .customer-process-info span {
    flex: 1 1 132px !important;
    min-width: 118px !important;
    min-height: 72px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    padding: 9px 10px !important;
    box-sizing: border-box !important;
  }

  .customer-processing-panel .customer-process-info span b {
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .customer-processing-panel .customer-process-info span i {
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-7,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex: 1 1 300px !important;
    min-width: 260px !important;
    min-height: 104px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-8,
  .customer-processing-panel .customer-process-info .customer-process-field-11 {
    flex: 1 1 150px !important;
    min-width: 132px !important;
  }

  .customer-processing-panel .customer-process-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .customer-processing-panel .customer-mini-form {
    min-width: 0 !important;
    min-height: 168px !important;
    border-right: 1px solid #e2ebf2 !important;
  }

  #customerReturnForm .customer-after-row {
    grid-template-columns: repeat(2, minmax(112px, 1fr)) !important;
  }

  #customerReturnForm .customer-after-row label:first-child,
  #customerReturnForm .customer-after-row label:nth-child(2) {
    grid-template-columns: 54px minmax(0, 1fr) !important;
  }
}

@media (max-width: 1180px) {
  .customer-processing-panel > .record-header,
  .customer-processing-panel .record-header.compact {
    flex-direction: column !important;
  }

  .customer-processing-panel .customer-process-search {
    flex-basis: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .customer-processing-panel .customer-process-info span {
    flex-basis: calc(50% - 8px) !important;
    min-width: 180px !important;
  }

  .customer-processing-panel .customer-process-info .customer-process-field-5,
  .customer-processing-panel .customer-process-info .customer-process-field-7,
  .customer-processing-panel .customer-process-info .customer-process-field-9,
  .customer-processing-panel .customer-process-info .customer-process-field-10,
  .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
}

/* Customer quick register v77: side drawer for ecommerce support workflows. */
.customer-quick-register {
  position: fixed;
  top: 46%;
  right: 18px;
  z-index: 44;
  transform: translateY(-50%);
}

.customer-quick-register.hidden {
  display: none !important;
}

.customer-quick-toggle {
  display: grid;
  width: 58px;
  min-height: 86px;
  place-items: center;
  gap: 2px;
  padding: 10px 8px;
  border: 1px solid #d8dee8;
  border-radius: 8px;
  color: #233044;
  background: #fff;
  box-shadow: none;
  text-align: center;
  cursor: pointer;
}

.customer-quick-toggle span,
.customer-quick-toggle strong {
  display: block;
  line-height: 1.08;
  letter-spacing: 0;
  writing-mode: vertical-rl;
}

.customer-quick-toggle span {
  font-size: 13px;
  font-weight: 800;
}

.customer-quick-toggle strong {
  font-size: 15px;
  font-weight: 900;
}

.customer-quick-drawer {
  position: fixed;
  top: 76px;
  right: 86px;
  width: min(430px, calc(100vw - 118px));
  max-height: calc(100vh - 112px);
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(218, 226, 234, .95);
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 24px 70px rgba(30, 42, 55, .24);
  transform: translateX(calc(100% + 126px));
  opacity: 0;
  pointer-events: none;
  transition: transform .18s ease, opacity .18s ease;
}

.customer-quick-register.open .customer-quick-drawer {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

.customer-quick-register.open .customer-quick-toggle {
  background: #f3f6fa;
}

.customer-quick-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.customer-quick-head h3 {
  font-size: 20px;
}

.customer-quick-project label {
  display: grid;
  gap: 6px;
}

.customer-quick-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 4px;
  border: 1px solid #e0e8f0;
  border-radius: 8px;
  background: #f4f7fa;
}

.customer-quick-tabs button {
  min-height: 36px;
  border: 0;
  border-radius: 6px;
  color: #596b7a;
  background: transparent;
  box-shadow: none;
  font-weight: 900;
}

.customer-quick-tabs button.active {
  color: #c52442;
  background: #fff;
  box-shadow: 0 6px 18px rgba(33, 45, 61, .1);
}

.customer-quick-status {
  min-height: 20px;
  color: #697989;
  font-size: 12px;
  font-weight: 700;
}

.customer-quick-status.success {
  color: #20815b;
}

.customer-quick-status.error {
  color: #b5213b;
}

.customer-quick-pane {
  min-height: 0;
  overflow: auto;
  display: none;
  padding-right: 2px;
}

.customer-quick-pane.active {
  display: grid;
  gap: 12px;
}

.customer-quick-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid #e2ebf2;
  border-radius: 8px;
  background: #fbfdff;
}

.customer-quick-form strong,
.customer-quick-form .wide,
.customer-quick-form button[type="submit"] {
  grid-column: 1 / -1;
}

.customer-quick-form strong {
  color: #25384c;
  font-size: 15px;
}

.customer-quick-form label {
  min-width: 0;
}

.customer-quick-form [data-quick-meyu-only][hidden],
#customerWorkbenchView [data-customer-meyu-only][hidden] {
  display: none !important;
}

.cs2-pet-breed {
  display: inline-flex;
  margin-left: 10px;
  color: #52677d;
  font-size: 12px;
  font-weight: 600;
}

.cs2-pet-breed-input {
  width: 128px !important;
  margin-left: 8px;
}

.customer-quick-form textarea {
  min-height: 82px;
  resize: vertical;
}

.customer-quick-mini {
  grid-template-columns: 1fr;
}

.customer-quick-search {
  display: flex;
  gap: 8px;
}

.customer-quick-search .search {
  min-width: 0;
  flex: 1;
}

.customer-quick-profile {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-height: 62px;
}

.customer-quick-profile span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #e1eaf2;
  border-radius: 8px;
  background: #fff;
}

.customer-quick-profile b {
  color: #6a7b8d;
  font-size: 12px;
}

.customer-quick-profile i {
  min-width: 0;
  overflow: hidden;
  color: #24364a;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-quick-profile.empty {
  display: block;
  padding: 12px;
  border: 1px dashed #d7e2ec;
  border-radius: 8px;
  color: #718195;
  background: #f8fbfd;
}

.customer-quick-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 720px) {
  .customer-quick-register {
    right: 12px;
  }

  .customer-quick-drawer {
    top: 64px;
    right: 12px;
    width: calc(100vw - 24px);
    max-height: calc(100vh - 88px);
  }

  .customer-quick-register.open .customer-quick-toggle {
    opacity: .2;
    pointer-events: none;
  }

  .customer-quick-form,
  .customer-quick-profile,
  .customer-quick-row {
    grid-template-columns: 1fr;
  }
}

/* Responsive fast home v78: laptop and mobile layout foundation. Keep at EOF. */
@media (max-width: 1500px) {
  .app-shell,
  .app-shell.sidebar-collapsed {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }

  .sidebar {
    align-items: center !important;
    padding: 14px 10px !important;
  }

  .brand {
    justify-content: center !important;
  }

  .brand > div,
  #logoutBtn,
  .nav-section-toggle span span,
  .nav-subsection-toggle span,
  .nav-children,
  .nav-grandchildren,
  .nav-section-toggle b,
  .nav-subsection-toggle b {
    display: none !important;
  }

  .nav-section,
  .nav-subsection,
  .system-entry,
  nav {
    width: 100% !important;
    justify-items: center !important;
  }

  .nav-section-toggle,
  .system-entry > button {
    justify-content: center !important;
    width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border-radius: 8px !important;
  }

  .content {
    padding: 16px 18px 28px !important;
  }

  .topbar,
  .topbar.app-command-bar {
    margin: -16px -18px 16px !important;
    padding: 12px 18px !important;
  }

  .workspace-home {
    padding: 10px 12px 18px !important;
    gap: 12px !important;
  }

  .home-hero-card,
  .home-workbench-grid,
  .home-bottom-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .home-hero-card {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) !important;
    padding: 14px !important;
  }

  .home-hero-main {
    height: auto !important;
    min-height: 72px !important;
  }

  .home-weather-meta {
    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 13px 16px !important;
  }

  .home-gantt-panel {
    height: auto !important;
    min-height: 360px !important;
    padding: 14px !important;
  }

  .home-decision-gantt {
    height: 300px !important;
  }

  .home-gantt-head,
  .home-gantt-row {
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) !important;
  }

  .home-side-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-side-stack .home-mini-panel {
    height: auto !important;
    min-height: 178px !important;
  }

  .home-bottom-grid {
    align-items: stretch !important;
  }

  .home-promo-banner {
    height: 150px !important;
    min-height: 150px !important;
    padding: 20px 28px !important;
  }

  .home-quick-panel .quick-entry-grid {
    grid-template-columns: repeat(5, minmax(76px, 1fr)) !important;
    gap: 10px !important;
  }

  .quick-entry {
    min-height: 74px !important;
  }

  .customer-quick-register {
    right: 12px !important;
  }

  .customer-quick-toggle {
    width: 52px !important;
    min-height: 76px !important;
  }

  .ai-floating {
    right: 12px !important;
    bottom: 10px !important;
  }
}

@media (max-width: 980px) {
  .home-hero-card,
  .home-side-stack,
  .home-quick-panel .quick-entry-grid {
    grid-template-columns: 1fr !important;
  }

  .home-gantt-panel {
    min-height: 300px !important;
  }

  .home-decision-gantt {
    height: 240px !important;
  }

  .home-gantt-days span small,
  .home-gantt-task span {
    display: none !important;
  }

  .home-gantt-head,
  .home-gantt-row {
    grid-template-columns: minmax(130px, 42%) minmax(0, 1fr) !important;
  }

  .home-promo-banner {
    display: none !important;
  }
}

@media (max-width: 760px) {
  .app-shell,
  .app-shell.sidebar-collapsed {
    display: block !important;
    min-height: 100vh !important;
  }

  .sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 58px !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 8px 10px !important;
  }

  .brand {
    flex: 0 0 auto !important;
  }

  .brand-mark {
    width: 34px !important;
    height: 34px !important;
  }

  nav {
    display: flex !important;
    width: auto !important;
    min-width: max-content !important;
    grid-auto-flow: column !important;
    gap: 6px !important;
  }

  .nav-section,
  .system-entry {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .nav-section-toggle,
  .system-entry > button {
    width: 40px !important;
    min-height: 40px !important;
  }

  .content {
    padding: 12px 10px 92px !important;
  }

  .topbar,
  .topbar.app-command-bar {
    position: static !important;
    margin: 0 0 12px !important;
    padding: 8px 0 !important;
    gap: 8px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .topbar h2,
  #pageTitle {
    font-size: 20px !important;
  }

  .workspace-home {
    padding: 0 !important;
  }

  .home-hero-card,
  .home-gantt-panel,
  .home-mini-panel,
  .home-quick-panel {
    border-radius: 8px !important;
  }

  .home-hero-card {
    padding: 12px !important;
  }

  .home-avatar-picker,
  .user-avatar-lg {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }

  .home-hero-main {
    gap: 10px !important;
  }

  .home-hero-main h1 {
    font-size: 20px !important;
  }

  .home-weather-meta {
    height: auto !important;
    min-height: 66px !important;
  }

  .home-gantt-panel {
    min-height: 260px !important;
    padding: 12px !important;
  }

  .home-decision-gantt {
    height: 200px !important;
  }

  .home-side-stack .home-mini-panel {
    min-height: 136px !important;
  }

  .home-quick-panel .quick-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .customer-quick-register {
    top: auto !important;
    right: 10px !important;
    bottom: 92px !important;
    transform: none !important;
  }

  .customer-quick-toggle {
    width: 54px !important;
    min-height: 54px !important;
    border-radius: 999px !important;
  }

  .customer-quick-toggle span,
  .customer-quick-toggle strong {
    writing-mode: horizontal-tb !important;
    font-size: 12px !important;
  }

  .ai-floating {
    right: 8px !important;
    bottom: 16px !important;
    transform: scale(.82) !important;
    transform-origin: right bottom !important;
  }
}

/* Final layout override v81: fixed app chrome and coordinated responsive workspaces. */
html,
body {
  height: 100% !important;
}

body:has(#appView:not(.hidden)) {
  overflow: hidden !important;
}

#appView.app-shell {
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 232px minmax(0, 1fr) !important;
  overflow: hidden !important;
}

#appView.app-shell.sidebar-collapsed {
  grid-template-columns: 74px minmax(0, 1fr) !important;
}

#appView .sidebar {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  z-index: 80 !important;
}

#appView .sidebar .brand,
#appView .sidebar #logoutBtn {
  flex: 0 0 auto !important;
}

#appView .sidebar #nav,
#appView .sidebar nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
}

#appView .content {
  height: 100vh !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
}

#appView .topbar,
#appView .topbar.app-command-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
  flex: 0 0 auto !important;
  min-height: 74px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(214, 224, 235, .9) !important;
  background: rgba(255, 255, 255, .97) !important;
  backdrop-filter: blur(10px);
}

#appView .view,
#appView .view:not(.hidden) {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#customerView .record-panel,
#customerView .panel,
#customerView section {
  min-width: 0 !important;
}

#customerView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

#customerView .customer-main-workarea {
  display: contents !important;
}

#customerView .customer-consult-form {
  grid-column: 1 !important;
}

#customerView .customer-processing-panel {
  grid-column: 2 !important;
  overflow: visible !important;
}

#customerView .customer-processing-panel .customer-process-info {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 6px !important;
  overflow: visible !important;
}

#customerView .customer-processing-panel .customer-process-info span {
  min-width: 0 !important;
  overflow: hidden !important;
}

#customerView .customer-processing-panel .customer-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
}

#customerView .customer-ledger-section,
#customerView .customer-ledger-table,
#customerView .customer-record-card,
#customerView .customer-record-grid {
  max-width: 100% !important;
}

#customerView .customer-ledger-table {
  overflow-x: auto !important;
}

#customerView .customer-record-grid {
  grid-template-columns: minmax(130px, 1.1fr) minmax(180px, 2fr) minmax(72px, .7fr) minmax(120px, 1.1fr) minmax(82px, .8fr) minmax(150px, 1.3fr) minmax(180px, 1.6fr) minmax(140px, 1.2fr) !important;
}

#customerQuickRegister {
  display: none !important;
}

@media (max-width: 1500px) {
  #appView.app-shell {
    grid-template-columns: 74px minmax(0, 1fr) !important;
  }

  #appView .sidebar .brand > div,
  #appView .sidebar #logoutBtn,
  #appView .sidebar #nav .nav-children,
  #appView .sidebar #nav .nav-subsection,
  #appView .sidebar #nav .nav-grandchildren,
  #appView .sidebar #nav b {
    display: none !important;
  }

  #appView .sidebar #nav .nav-section-toggle,
  #appView .sidebar #nav .system-entry > button {
    justify-content: center !important;
    padding-inline: 8px !important;
  }

  #appView .sidebar #nav .nav-section-toggle span,
  #appView .sidebar #nav .system-entry > button span {
    justify-content: center !important;
  }

  #appView .content {
    padding-inline: 18px !important;
  }

  #customerView .customer-desk-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerView .customer-main-workarea {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  #customerView .customer-processing-panel,
  #customerView .customer-consult-form {
    grid-column: 1 !important;
  }

  #customerView .customer-processing-panel {
    order: 1 !important;
  }

  #customerView .customer-consult-form {
    order: 2 !important;
  }

  #customerView .customer-processing-panel .customer-process-info {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  #customerView .customer-processing-panel .customer-process-info span {
    flex: 1 1 150px !important;
    min-height: 74px !important;
  }

  #customerView .customer-processing-panel .customer-process-info .customer-process-field-5,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-7,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-9,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-10,
  #customerView .customer-processing-panel .customer-process-info .customer-process-field-12 {
    flex: 1 1 320px !important;
    min-height: 104px !important;
  }
}

@media (max-width: 1180px) {
  #appView .content {
    padding-inline: 12px !important;
  }

  #appView .topbar,
  #appView .topbar.app-command-bar {
    min-height: 64px !important;
    padding: 10px 14px !important;
  }

  #customerView .customer-processing-panel > .record-header,
  #customerView .customer-processing-panel .record-header.compact {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #customerView .customer-processing-panel .customer-process-search,
  #customerView .customer-processing-panel .customer-process-search .search {
    width: 100% !important;
    min-width: 0 !important;
  }

  #customerView .customer-processing-panel .customer-process-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerView .customer-processing-panel .customer-mini-form {
    border-right: 0 !important;
    border-bottom: 1px solid #e2ebf2 !important;
  }
}

@media (max-width: 820px) {
  body:has(#appView:not(.hidden)) {
    overflow: auto !important;
  }

  #appView.app-shell,
  #appView.app-shell.sidebar-collapsed {
    height: auto !important;
    max-height: none !important;
    min-height: 100vh !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  #appView .sidebar {
    position: sticky !important;
    top: 0 !important;
    height: auto !important;
    max-height: none !important;
    z-index: 90 !important;
  }

  #appView .content {
    height: auto !important;
    overflow: visible !important;
  }
}
/* Customer fixed cards v86 true final override: stable cards with horizontal scroll. */
#customerView {
  overflow-x: auto !important;
  overflow-y: visible !important;
}

#customerView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, 360px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  min-width: 1180px !important;
}

#customerView .customer-main-workarea {
  display: contents !important;
}

#customerView .customer-consult-form {
  grid-column: 1 !important;
  min-width: 340px !important;
}

#customerView .customer-processing-panel {
  grid-column: 2 !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-gutter: stable !important;
}

#customerView .customer-processing-panel .customer-process-info {
  display: grid !important;
  grid-template-columns: 92px 130px 96px 130px 340px 140px 170px 220px 130px 280px 260px 300px !important;
  grid-template-rows: 108px 124px !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 8px !important;
  border: 1px solid #cfe3f5 !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
  scrollbar-gutter: stable !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field {
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px !important;
  border: 1px solid #bed8ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field b {
  flex: 0 0 auto !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  color: #164367 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: nowrap !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field i {
  flex: 1 1 auto !important;
  width: 100% !important;
  margin-top: 8px !important;
  color: #203246 !important;
  font-style: normal !important;
  line-height: 1.45 !important;
  white-space: pre-wrap !important;
  overflow: auto !important;
  word-break: break-word !important;
}

#customerView .customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-5 { grid-column: 5 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-6 { grid-column: 6 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-11 { grid-column: 7 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-9 { grid-column: 4 / 6 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-10 { grid-column: 6 / 8 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-12 { grid-column: 8 / 13 !important; grid-row: 2 !important; }

#customerView .customer-processing-panel .customer-process-grid {
  min-width: 1040px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
  overflow: visible !important;
}

#customerView .customer-ledger-section,
#customerView .customer-ledger-table,
#customerView #customerRecentRecords {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-gutter: stable !important;
}

#customerView .customer-order-ledger {
  min-width: 1580px !important;
  width: max-content !important;
  max-width: none !important;
}

#customerView .customer-order-columns,
#customerView .customer-order-body {
  display: grid !important;
  grid-template-columns: 180px 300px 100px 190px 130px 230px 240px 210px !important;
  min-width: 1580px !important;
  width: 1580px !important;
  max-width: none !important;
  align-items: stretch !important;
}

#customerView .customer-order-card {
  min-width: 1580px !important;
  width: 1580px !important;
  max-width: none !important;
}

#customerView .customer-order-body > section {
  min-width: 0 !important;
  padding: 12px !important;
  overflow: hidden !important;
  word-break: break-word !important;
}

#customerView .customer-order-body > section > p,
#customerView .customer-order-body > section > div,
#customerView .customer-order-body > section > span,
#customerView .customer-order-handover .handover-reason,
#customerView .customer-order-progress .progress-line {
  max-width: 100% !important;
  display: block !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1500px) {
  #customerView .customer-desk-grid {
    grid-template-columns: minmax(340px, 360px) minmax(0, 1fr) !important;
    min-width: 1180px !important;
  }

  #customerView .customer-main-workarea {
    display: contents !important;
  }

  #customerView .customer-consult-form {
    grid-column: 1 !important;
    order: initial !important;
  }

  #customerView .customer-processing-panel {
    grid-column: 2 !important;
    order: initial !important;
  }

  #customerView .customer-processing-panel .customer-process-info {
    display: grid !important;
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 1180px) {
  #customerView .customer-desk-grid {
    grid-template-columns: minmax(340px, 360px) minmax(0, 1fr) !important;
    min-width: 1180px !important;
  }

  #customerView .customer-processing-panel > .record-header,
  #customerView .customer-processing-panel .record-header.compact {
    flex-direction: row !important;
    align-items: center !important;
  }

  #customerView .customer-processing-panel .customer-process-search {
    width: auto !important;
    min-width: 360px !important;
  }

  #customerView .customer-processing-panel .customer-process-grid {
    grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
  }
}

/* Home rebuild v87: clean navigation, full command bar, notice strip, rebuilt greeting/weather. */
#appView.app-shell,
#appView.app-shell.sidebar-collapsed {
  grid-template-columns: 220px minmax(0, 1fr) !important;
  background: #f3f6fa !important;
}

#appView .sidebar {
  width: 220px !important;
  min-width: 220px !important;
  border-right: 1px solid #dde6ef !important;
  background: #fff !important;
}

#appView .sidebar .brand {
  height: 74px !important;
  min-height: 74px !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #e6edf4 !important;
  gap: 10px !important;
  box-shadow: none !important;
}

#appView .brand-logo-full {
  display: block !important;
  width: 124px !important;
  height: 42px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

#appView .brand-mark,
#appView .brand > div {
  display: none !important;
}

#appView .sidebar-toggle {
  margin-left: auto !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  border: 1px solid #ffd2d9 !important;
  background: #fff !important;
  color: #ec3f5a !important;
  box-shadow: none !important;
  font-weight: 500 !important;
}

#appView #nav button,
#appView #nav span,
#appView .system-entry button,
#appView .nav-section-toggle,
#appView .nav-subsection-toggle,
#appView .nav-children button,
#appView .nav-grandchildren button {
  font-weight: 400 !important;
}

#appView #nav button.active,
#appView .nav-section-toggle.active,
#appView .nav-children button.active,
#appView .nav-grandchildren button.active {
  font-weight: 500 !important;
}

#appView .nav-tool-title {
  margin: 14px 16px 6px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e8eef5 !important;
  color: #8b98a8 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

#appView .content {
  padding: 0 !important;
  background: #f3f6fa !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#appView .topbar,
#appView .topbar.app-command-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  width: 100% !important;
  min-height: 74px !important;
  height: 74px !important;
  margin: 0 !important;
  padding: 0 26px !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 420px) minmax(360px, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  border-bottom: 1px solid #dbe5ef !important;
  background: #fff !important;
  box-shadow: none !important;
}

#appView .command-search {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  height: 40px !important;
  min-height: 40px !important;
  border: 1px solid #dce5ee !important;
  border-radius: 4px !important;
  background: #f6f8fa !important;
  box-shadow: none !important;
}

#appView .command-search input,
#globalSearch {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 14px !important;
  border: 0 !important;
  background: transparent !important;
  color: #27364a !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

#appView .command-notice {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid #dce5ee !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

#appView .command-notice span {
  flex: 0 0 auto !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

#appView .command-notice span::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: 6px !important;
  vertical-align: -2px !important;
  background: #111827 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 10v4h3l5 4V6l-5 4H4zm11.5 2a3.5 3.5 0 0 0-1.4-2.8v5.6a3.5 3.5 0 0 0 1.4-2.8z'/%3E%3C/svg%3E") center/14px 14px no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 10v4h3l5 4V6l-5 4H4zm11.5 2a3.5 3.5 0 0 0-1.4-2.8v5.6a3.5 3.5 0 0 0 1.4-2.8z'/%3E%3C/svg%3E") center/14px 14px no-repeat !important;
}

#appView .command-notice b {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

#appView .command-notice i {
  flex: 0 0 auto !important;
  color: #111827 !important;
  font-style: normal !important;
  font-size: 18px !important;
}

#appView .command-actions,
#appView .command-user-chip,
#appView .command-btn {
  font-weight: 400 !important;
}

#appView .command-actions {
  gap: 14px !important;
}

#appView .workspace-home {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - 74px) !important;
  padding: 16px 22px 28px !important;
  gap: 14px !important;
  background: #f3f6fa !important;
}

#dashboardView .home-hero-card {
  width: 100% !important;
  max-width: none !important;
  min-height: 112px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 18px 22px !important;
  border: 1px solid #dce8f2 !important;
  border-radius: 8px !important;
  background: linear-gradient(90deg, #f8fcff 0%, #eef8ff 58%, #f8fcff 100%) !important;
  box-shadow: none !important;
}

#dashboardView .home-hero-card.has-weather-bg {
  background: linear-gradient(90deg, #f8fcff 0%, #eef8ff 58%, #f8fcff 100%) !important;
}

#dashboardView .home-hero-main {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 76px !important;
}

#dashboardView .home-avatar-picker,
#dashboardView .user-avatar-lg {
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
  border-radius: 999px !important;
}

#dashboardView .user-avatar.has-image,
#appView .user-avatar.has-image {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: transparent !important;
}

#dashboardView .home-avatar-picker {
  border: 1px solid #d9e6f2 !important;
  background: #fff !important;
  box-shadow: none !important;
}

#dashboardView .home-hero-main .eyebrow,
#dashboardView .home-panel-head .eyebrow,
#dashboardView .home-promo-banner .eyebrow {
  color: #e73552 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-hero-main h1 {
  margin: 0 0 8px !important;
  color: #122033 !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

#dashboardView .home-hero-main p:not(.eyebrow) {
  color: #526173 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

#dashboardView .home-weather-meta {
  min-height: 74px !important;
  height: 74px !important;
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  padding: 12px 16px !important;
  border: 1px solid #dce8f2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #243246 !important;
  box-shadow: none !important;
}

#dashboardView .home-weather-meta span {
  color: #243246 !important;
  text-shadow: none !important;
  font-weight: 400 !important;
}

#dashboardView .home-weather-meta #welcomeDate {
  color: #122033 !important;
  font-size: 22px !important;
  font-weight: 500 !important;
}

#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  width: 100% !important;
  max-width: none !important;
}

#dashboardView .home-workbench-grid {
  grid-template-columns: minmax(760px, 1fr) 300px !important;
}

#dashboardView .home-gantt-panel,
#dashboardView .home-mini-panel,
#dashboardView .home-promo-banner {
  border-radius: 8px !important;
  box-shadow: none !important;
}

#dashboardView .home-panel-head h3,
#dashboardView .home-mini-panel h3,
#dashboardView .home-promo-banner h3,
#dashboardView .quick-entry span,
#dashboardView .text-link {
  font-weight: 500 !important;
}

#aiFloatingAssistant.collapsed {
  right: 0 !important;
  bottom: 44vh !important;
  pointer-events: auto !important;
}

#aiFloatingAssistant.collapsed .ai-floating-drawer,
#aiFloatingAssistant.collapsed #aiPetPoseToggle,
#aiFloatingAssistant.collapsed #aiPetPoseMenu {
  display: none !important;
}

#aiFloatingAssistant.collapsed .ai-floating-toggle {
  width: 34px !important;
  height: 86px !important;
  min-width: 34px !important;
  padding: 8px 4px !important;
  border-radius: 14px 0 0 14px !important;
  border: 1px solid #d8e3ee !important;
  border-right: 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(34, 48, 64, .12) !important;
}

#aiFloatingAssistant.collapsed .ai-floating-toggle img,
#aiFloatingAssistant.collapsed .ai-floating-toggle span,
#aiFloatingAssistant.collapsed .ai-floating-toggle i {
  display: none !important;
}

#aiFloatingAssistant.collapsed .ai-floating-toggle::after {
  content: "助手" !important;
  display: block !important;
  color: #223246 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  writing-mode: vertical-rl !important;
}

@media (max-width: 1280px) {
  #appView .topbar,
  #appView .topbar.app-command-bar {
    grid-template-columns: minmax(220px, 340px) minmax(260px, 1fr) auto !important;
    padding-inline: 18px !important;
  }

  #dashboardView .home-workbench-grid {
    grid-template-columns: minmax(700px, 1fr) 280px !important;
  }
}

/* Customer fixed cards v88: final after home rebuild, no wrapping under narrow panels. */
#customerView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: 360px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  min-width: 1180px !important;
  max-width: none !important;
}

#customerView .customer-main-workarea {
  display: contents !important;
}

#customerView .customer-consult-form {
  grid-column: 1 !important;
  min-width: 360px !important;
  max-width: 360px !important;
}

#customerView .customer-processing-panel {
  grid-column: 2 !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-gutter: stable !important;
}

#customerView .customer-processing-panel > .record-header,
#customerView .customer-processing-panel .record-header.compact {
  min-width: 2280px !important;
  width: 2280px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#customerView .customer-processing-panel .customer-process-search {
  width: 430px !important;
  min-width: 430px !important;
  max-width: 430px !important;
}

#customerView .customer-processing-panel .customer-process-search .search {
  width: 100% !important;
  min-width: 0 !important;
}

#customerView .customer-processing-panel .customer-process-info {
  display: grid !important;
  grid-template-columns: 110px 150px 130px 150px 360px 160px 170px 230px 150px 290px 260px 320px !important;
  grid-template-rows: 112px 128px !important;
  gap: 8px !important;
  width: 2280px !important;
  min-width: 2280px !important;
  max-width: none !important;
  overflow: visible !important;
  padding: 8px !important;
  border: 1px solid #cfe3f5 !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field {
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px !important;
  border: 1px solid #bed8ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field b {
  flex: 0 0 auto !important;
  width: 100% !important;
  color: #164367 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: nowrap !important;
}

#customerView .customer-processing-panel .customer-process-info .customer-process-field i {
  flex: 1 1 auto !important;
  width: 100% !important;
  margin-top: 8px !important;
  color: #203246 !important;
  font-style: normal !important;
  line-height: 1.45 !important;
  white-space: pre-wrap !important;
  overflow: auto !important;
  word-break: break-word !important;
}

#customerView .customer-processing-panel .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-5 { grid-column: 5 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-6 { grid-column: 6 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-11 { grid-column: 7 !important; grid-row: 1 !important; }
#customerView .customer-processing-panel .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-9 { grid-column: 4 / 6 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-10 { grid-column: 6 / 8 !important; grid-row: 2 !important; }
#customerView .customer-processing-panel .customer-process-field-12 { grid-column: 8 / 13 !important; grid-row: 2 !important; }

#customerView .customer-processing-panel .customer-process-grid {
  width: 1040px !important;
  min-width: 1040px !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
}

#customerView .customer-ledger-section,
#customerView .customer-ledger-table,
#customerView #customerRecentRecords {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-gutter: stable !important;
}

#customerView .customer-order-ledger {
  min-width: 1580px !important;
  width: max-content !important;
  max-width: none !important;
}

#customerView .customer-order-columns,
#customerView .customer-order-body,
#customerView .customer-order-card {
  min-width: 1580px !important;
  width: 1580px !important;
  max-width: none !important;
}

#customerView .customer-order-columns,
#customerView .customer-order-body {
  display: grid !important;
  grid-template-columns: 180px 300px 100px 190px 130px 230px 240px 210px !important;
}

/* Home enterprise rebuild v89: full home canvas, light hero/weather, promotion center. */
body:has(#loginView:not(.hidden)) {
  overflow: hidden !important;
}

#loginView.login-shell:not(.hidden) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 5000 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: auto !important;
  background: #f7fbff !important;
}

#appView.app-shell {
  height: 100vh !important;
  overflow: hidden !important;
}

#appView .content {
  background: #eef4fb !important;
}

#appView .content > .view,
#dashboardView.workspace-home {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#dashboardView.workspace-home {
  min-height: calc(100vh - 74px) !important;
  padding: 10px 12px 24px !important;
  background:
    linear-gradient(180deg, rgba(248, 252, 255, .72), rgba(239, 246, 253, .88)),
    url('/assets/home-bg-v89.png') center top / cover no-repeat !important;
}

#appView .command-notice {
  border: 0 !important;
  background: transparent !important;
  padding-inline: 4px !important;
  box-shadow: none !important;
}

#appView .command-notice b,
#appView .command-notice span {
  font-weight: 400 !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-hero-card.has-weather-bg {
  min-height: 180px !important;
  height: 180px !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  align-items: center !important;
  gap: 26px !important;
  padding: 24px 34px !important;
  border: 1px solid rgba(213, 230, 246, .9) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.72), rgba(241,248,255,.42)),
    url('/assets/home-bg-v89.png') center center / cover no-repeat !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 14px 34px rgba(96, 134, 176, .12) !important;
  overflow: hidden !important;
}

#dashboardView .home-hero-main {
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
}

#dashboardView .home-avatar-picker,
#dashboardView .user-avatar-lg {
  width: 96px !important;
  height: 96px !important;
  flex: 0 0 96px !important;
  border-radius: 999px !important;
}

#dashboardView .home-avatar-picker {
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(213, 230, 246, .9) !important;
  background: rgba(255,255,255,.44) !important;
  box-shadow: 0 18px 40px rgba(87, 128, 178, .13), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#dashboardView .user-avatar-lg {
  width: 86px !important;
  height: 86px !important;
  flex-basis: 86px !important;
  background: rgba(255,255,255,.62) !important;
  color: #7e9ab8 !important;
  font-size: 30px !important;
}

#dashboardView .home-hero-main .eyebrow {
  margin-bottom: 12px !important;
  color: #4f8dff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

#dashboardView .home-hero-main h1 {
  margin-bottom: 12px !important;
  color: #10223e !important;
  font-size: 34px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-hero-main p:not(.eyebrow) {
  color: #607895 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

#dashboardView .home-weather-meta {
  min-height: 118px !important;
  height: 118px !important;
  align-self: center !important;
  display: grid !important;
  align-content: center !important;
  gap: 10px !important;
  padding: 22px 28px !important;
  border: 1px solid rgba(213, 230, 246, .95) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .58) !important;
  box-shadow: 0 16px 30px rgba(92, 126, 170, .14), inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter: blur(8px) !important;
}

#dashboardView .home-weather-meta span {
  color: #526c8d !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}

#dashboardView .home-weather-meta #welcomeWeekday {
  font-size: 16px !important;
  color: #263d5c !important;
}

#dashboardView .home-weather-meta #welcomeDate {
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(176, 202, 231, .55) !important;
  color: #10223e !important;
  font-size: 28px !important;
  font-weight: 500 !important;
}

#dashboardView .home-weather-meta #welcomeWeather {
  font-size: 16px !important;
}

#dashboardView .home-workbench-grid {
  width: 100% !important;
  grid-template-columns: minmax(760px, 1fr) 300px !important;
}

#dashboardView .home-bottom-grid {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
}

#dashboardView .home-gantt-panel {
  height: 430px !important;
  min-height: 430px !important;
}

#dashboardView .home-gantt-body {
  grid-template-rows: repeat(5, 52px) !important;
  align-content: start !important;
}

#dashboardView .home-gantt-row:nth-of-type(n+6) {
  display: none !important;
}

#dashboardView .home-gantt-task span {
  display: none !important;
}

#dashboardView .home-gantt-task strong {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
}

.enterprise-promotion-shell {
  display: grid !important;
  gap: 16px !important;
  padding: 18px !important;
}

.enterprise-hero,
.enterprise-card {
  border: 1px solid #dce8f2 !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: none !important;
}

.enterprise-hero {
  padding: 22px 24px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.86), rgba(239,247,255,.76)),
    url('/assets/home-bg-v89.png') center / cover no-repeat !important;
}

.enterprise-hero h3,
.enterprise-card h3 {
  margin: 0 0 10px !important;
  color: #14243a !important;
  font-weight: 500 !important;
}

.enterprise-hero p:not(.eyebrow),
.enterprise-card p {
  color: #607083 !important;
  font-weight: 400 !important;
}

.enterprise-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.enterprise-card {
  display: grid !important;
  gap: 12px !important;
  padding: 18px !important;
  align-content: start !important;
}

.enterprise-card label {
  display: grid !important;
  gap: 6px !important;
  color: #344255 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.enterprise-card input,
.enterprise-card textarea {
  width: 100% !important;
  border: 1px solid #d7e4ef !important;
  border-radius: 6px !important;
  background: #fbfdff !important;
  color: #1f2d3d !important;
  font-weight: 400 !important;
}

.enterprise-switch {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  gap: 8px !important;
}

.enterprise-switch input {
  width: auto !important;
}

.enterprise-culture-preview {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.enterprise-culture-preview article {
  display: grid !important;
  gap: 6px !important;
}

.enterprise-culture-preview img {
  width: 100% !important;
  aspect-ratio: 16 / 8 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid #dce8f2 !important;
}

@media (max-width: 1280px) {
  #dashboardView .home-hero-card,
  #dashboardView .home-hero-card.has-weather-bg {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    padding-inline: 24px !important;
  }

  .enterprise-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Home spacing v90: keep full canvas but give content comfortable air. */
#dashboardView.workspace-home {
  padding: 24px 32px 36px !important;
  gap: 22px !important;
}

#dashboardView.workspace-home > section {
  width: min(100%, 1500px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-hero-card.has-weather-bg {
  height: 200px !important;
  min-height: 200px !important;
  padding: 30px 46px !important;
  gap: 34px !important;
  border-radius: 22px !important;
}

#dashboardView .home-workbench-grid {
  gap: 22px !important;
  grid-template-columns: minmax(760px, 1fr) 320px !important;
}

#dashboardView .home-side-stack {
  gap: 22px !important;
}

#dashboardView .home-bottom-grid {
  gap: 22px !important;
  grid-template-columns: minmax(0, 1fr) 430px !important;
}

#dashboardView .home-gantt-panel,
#dashboardView .home-mini-panel,
#dashboardView .home-promo-banner {
  border-radius: 12px !important;
}

#dashboardView .home-gantt-panel {
  padding: 20px 22px !important;
}

#dashboardView .home-mini-panel {
  padding: 18px !important;
}

#dashboardView .home-promo-banner {
  min-height: 170px !important;
}

@media (max-width: 1360px) {
  #dashboardView.workspace-home {
    padding: 20px 24px 32px !important;
  }

  #dashboardView .home-hero-card,
  #dashboardView .home-hero-card.has-weather-bg {
    padding: 26px 34px !important;
  }

  #dashboardView .home-workbench-grid,
  #dashboardView .home-bottom-grid {
    gap: 18px !important;
  }
}
/* Home dashboard rebuild v94: fixed E-COM inspired layout. */
#appView.app-shell {
  background: #f4f8fd !important;
}

@media (min-width: 821px) {
  #appView.app-shell:not(.sidebar-collapsed) {
    grid-template-columns: 220px minmax(0, 1fr) !important;
  }

  #appView.app-shell.sidebar-collapsed {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }

  #appView.app-shell.sidebar-collapsed .content,
  #appView.app-shell:not(.sidebar-collapsed) .content {
    min-width: 0 !important;
  }
}

#appView .sidebar {
  background: #fff !important;
  border-right: 1px solid rgba(215, 226, 239, .9) !important;
  box-shadow: 10px 0 26px rgba(78, 104, 138, .04) !important;
}

#appView .sidebar .brand {
  height: 76px !important;
  min-height: 76px !important;
  padding: 16px 20px !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(226, 235, 245, .95) !important;
}

#appView .brand-logo-full {
  width: 106px !important;
  height: 42px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

#appView.app-shell.sidebar-collapsed .sidebar .brand {
  justify-content: center !important;
  padding: 14px 8px !important;
  gap: 8px !important;
  flex-direction: column !important;
}

#appView.app-shell.sidebar-collapsed .brand-logo-full {
  width: 42px !important;
  height: 24px !important;
  object-fit: contain !important;
  object-position: center !important;
}

#appView .sidebar-toggle {
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #dbe7f6 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #7b8ba4 !important;
  box-shadow: 0 8px 20px rgba(91, 123, 164, .10) !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

#appView .sidebar-toggle:hover {
  background: #eff6ff !important;
  color: #2f72e8 !important;
  border-color: #c8daf6 !important;
}

#appView #nav {
  padding: 16px 14px 18px !important;
}

#appView #nav button,
#appView #nav span,
#appView .nav-section-toggle,
#appView .nav-subsection-toggle,
#appView .nav-children button,
#appView .nav-grandchildren button {
  font-weight: 400 !important;
}

#appView #nav button.active,
#appView .nav-section-toggle.active,
#appView .nav-children button.active,
#appView .nav-grandchildren button.active {
  background: transparent !important;
  color: #2f72e8 !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}

#appView #nav button.active::before,
#appView .nav-section-toggle.active::before {
  background: transparent !important;
}

#appView #nav .nav-home-button.active,
#appView #nav .nav-section-toggle:hover,
#appView #nav .system-entry > button:hover {
  background: #f2f7ff !important;
  color: #2f72e8 !important;
}

#appView #nav .oa-icon {
  border: 0 !important;
  background: transparent !important;
}

#appView #logoutBtn {
  margin: 14px 16px 18px !important;
  min-height: 42px !important;
  border: 1px solid #dbe7f6 !important;
  border-radius: 12px !important;
  background: #f7fbff !important;
  color: #5d6d83 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

#appView #logoutBtn:hover {
  color: #2f72e8 !important;
  border-color: #bcd2f5 !important;
  background: #eef6ff !important;
}

#appView.app-shell.sidebar-collapsed #logoutBtn {
  display: none !important;
}

#appView .content {
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(244,248,253,.88)),
    url("/assets/home-bg-v89.png") right bottom / min(72vw, 1180px) auto no-repeat,
    #f4f8fd !important;
}

#dashboardView.workspace-home {
  width: 100% !important;
  max-width: 1500px !important;
  min-height: calc(100vh - 76px) !important;
  margin: 0 auto !important;
  padding: 24px 28px 36px !important;
  display: grid !important;
  gap: 18px !important;
  align-content: start !important;
}

#dashboardView .home-top-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 310px !important;
  gap: 18px !important;
}

#dashboardView .home-workbench-grid {
  display: grid !important;
  grid-template-columns: minmax(300px, .36fr) minmax(0, .64fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

#dashboardView .home-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .68fr) minmax(320px, .32fr) !important;
  gap: 18px !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-mini-panel,
#dashboardView .home-gantt-panel,
#dashboardView .home-promo-banner {
  border: 1px solid rgba(219, 231, 246, .82) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 12px 34px rgba(80, 112, 152, .08) !important;
}

#dashboardView .home-hero-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, .52fr) minmax(340px, .48fr) !important;
  align-items: center !important;
  height: 182px !important;
  min-height: 182px !important;
  overflow: hidden !important;
  padding: 20px 26px !important;
  background:
    linear-gradient(96deg, rgba(230,242,255,.95), rgba(241,247,255,.9) 46%, rgba(232,242,255,.84)),
    #eef6ff !important;
}

#dashboardView .home-hero-main {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  min-width: 0 !important;
  z-index: 2 !important;
}

#dashboardView .home-avatar-picker {
  flex: 0 0 auto !important;
}

#dashboardView .user-avatar-lg {
  width: 72px !important;
  height: 72px !important;
  box-shadow: 0 12px 30px rgba(47, 114, 232, .16) !important;
}

#dashboardView .home-hero-copy {
  min-width: 0 !important;
}

#dashboardView .home-hero-copy .eyebrow,
#dashboardView .home-panel-head .eyebrow {
  color: #4c88f2 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-hero-copy h1 {
  margin: 0 0 8px !important;
  color: #12213a !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

#dashboardView .home-hero-copy p:not(.eyebrow) {
  margin: 0 0 14px !important;
  color: #536780 !important;
  font-size: 14px !important;
}

#dashboardView .home-weather-meta {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #5d718a !important;
  font-size: 13px !important;
}

#dashboardView .home-weather-meta span {
  white-space: nowrap !important;
}

#dashboardView .home-hero-illustration {
  width: 100% !important;
  height: 210px !important;
  object-fit: contain !important;
  object-position: right center !important;
  transform: translateX(18px) !important;
  filter: drop-shadow(0 18px 28px rgba(82, 124, 188, .13)) !important;
}

#dashboardView .home-quick-panel {
  position: relative !important;
  min-height: 182px !important;
  padding: 20px !important;
}

#dashboardView .home-panel-head {
  margin-bottom: 14px !important;
}

#dashboardView .home-panel-head h3,
#dashboardView .home-mini-panel h3,
#dashboardView .home-promo-banner h3 {
  color: #15243b !important;
  font-weight: 600 !important;
}

#dashboardView .text-link {
  border: 0 !important;
  background: transparent !important;
  color: #4c88f2 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

#dashboardView .quick-entry-grid.compact {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#dashboardView .quick-entry {
  min-height: 82px !important;
  padding: 8px 4px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #465a73 !important;
}

#dashboardView .quick-entry:hover {
  background: #f4f8ff !important;
  color: #2f72e8 !important;
}

#dashboardView .entry-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

#dashboardView .entry-flow,
#dashboardView .entry-task {
  background: linear-gradient(135deg, #e8f1ff, #f7fbff) !important;
}

/* v118: dashboard density, readable decision timeline, compact todos and notice alignment. */
#dashboardView.workspace-home {
  --home-gap: 16px !important;
  --home-edge: 24px !important;
}

#dashboardView .home-quick-panel,
#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel,
#dashboardView .home-company-notice {
  padding: 22px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(196, 220, 248, .9) !important;
  box-shadow: 0 12px 28px rgba(40, 90, 145, .07) !important;
}

#dashboardView .home-panel-head,
#dashboardView .home-panel-head.compact,
#dashboardView .home-gantt-title {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#dashboardView .home-panel-head h3,
#dashboardView .home-mini-panel h3,
#dashboardView .home-gantt-title h3,
#dashboardView .home-promo-banner h3 {
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}

#dashboardView .home-quick-panel {
  height: 230px !important;
  min-height: 230px !important;
}

#dashboardView .quick-entry-grid.compact {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 15px !important;
}

#dashboardView .quick-entry {
  min-height: 112px !important;
  gap: 12px !important;
}

#dashboardView .quick-entry .entry-icon {
  width: 46px !important;
  height: 46px !important;
  color: #2f72e8 !important;
  background: #eef5ff !important;
}

#dashboardView .entry-flow { color: #2f72e8 !important; background: #eef5ff !important; }
#dashboardView .entry-task { color: #1e9b75 !important; background: #e9faf4 !important; }
#dashboardView .entry-data { color: #6f59dc !important; background: #f2efff !important; }
#dashboardView .entry-service { color: #e58a23 !important; background: #fff4e5 !important; }
#dashboardView .entry-tool { color: #0e9fb0 !important; background: #e9fbff !important; }

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  height: 360px !important;
  min-height: 360px !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-list {
  display: grid !important;
  gap: 8px !important;
  height: calc(100% - 39px) !important;
  margin-top: 15px !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 58px !important;
  align-items: center !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-todo-item + .home-todo-item {
  border-top: 1px solid rgba(218, 228, 241, .78) !important;
}

#dashboardView .home-todo-item span {
  min-width: 0 !important;
}

#dashboardView .home-todo-item strong {
  display: block !important;
  max-width: none !important;
  color: #1f3048 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-todo-item small {
  display: block !important;
  margin-top: 2px !important;
  color: #7b8da5 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-todo-item em {
  justify-self: end !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2f72e8 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

#dashboardView .home-decision-gantt {
  height: calc(100% - 39px) !important;
  margin-top: 15px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-head,
#dashboardView .home-gantt-row {
  grid-template-columns: 190px minmax(0, 1fr) !important;
}

#dashboardView .home-gantt-head {
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(214, 226, 242, .9) !important;
  background: transparent !important;
}

#dashboardView .home-gantt-head > div:first-child {
  visibility: visible !important;
  align-self: end !important;
  color: #30425d !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-days {
  grid-template-columns: repeat(var(--home-gantt-day-count, 10), minmax(0, 1fr)) !important;
  height: 38px !important;
  align-self: end !important;
  padding: 0 !important;
}

#dashboardView .home-gantt-days span {
  height: 38px !important;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 3px !important;
  color: #8294ad !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-days b,
#dashboardView .home-gantt-days small {
  line-height: 1.05 !important;
}

#dashboardView .home-gantt-days span.today,
#dashboardView .home-gantt-days span.today b,
#dashboardView .home-gantt-days span.today small {
  color: #f02d5a !important;
}

#dashboardView .home-gantt-body {
  position: relative !important;
  display: grid !important;
  grid-auto-rows: 40px !important;
  gap: 6px !important;
  height: calc(100% - 46px) !important;
  padding: 10px 0 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-overlay {
  left: 190px !important;
  top: 0 !important;
  bottom: 0 !important;
}

#dashboardView .home-gantt-row {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-gantt-task {
  display: grid !important;
  align-content: center !important;
  min-height: 40px !important;
  height: 40px !important;
  padding-right: 12px !important;
  border: 0 !important;
  background: transparent !important;
}

#dashboardView .home-gantt-task strong {
  display: block !important;
  max-width: 172px !important;
  color: #20324b !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-gantt-task span {
  display: block !important;
  max-width: 172px !important;
  margin-top: 3px !important;
  color: #71839b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-gantt-track {
  position: relative !important;
  min-height: 40px !important;
  height: 40px !important;
  border: 0 !important;
  background: transparent !important;
}

#dashboardView .home-gantt-track::before,
#dashboardView .home-today-line {
  display: none !important;
  content: none !important;
}

#dashboardView .home-gantt-track em {
  top: 50% !important;
  height: 14px !important;
  min-width: 34px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
}

#dashboardView .home-company-notice {
  height: 210px !important;
  min-height: 210px !important;
  overflow: hidden !important;
}

#dashboardView .home-company-notice .home-panel-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
}

#dashboardView .home-notice-layout {
  height: calc(100% - 39px) !important;
  margin-top: 15px !important;
}

#dashboardView .home-company-notice-list {
  display: grid !important;
  gap: 8px !important;
  max-width: none !important;
  padding: 0 !important;
}

#dashboardView .home-company-notice-item {
  grid-template-columns: 22px minmax(0, 1fr) 72px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#dashboardView .home-company-notice-item span {
  color: #31445f !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item time {
  justify-self: end !important;
  min-width: 72px !important;
  text-align: right !important;
  color: #8292a9 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-hero-quote {
  display: none !important;
}

#dashboardView .home-hero-copy {
  left: 186px !important;
  top: 66px !important;
  right: 360px !important;
  min-width: 0 !important;
}

#dashboardView #welcomeGreeting {
  font-size: 30px !important;
  line-height: 1.18 !important;
  white-space: nowrap !important;
}

#dashboardView #welcomeSubtitle {
  max-width: 480px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-weather-meta {
  left: 44px !important;
  right: 390px !important;
  bottom: 22px !important;
  top: auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  height: 24px !important;
  max-width: 720px !important;
  overflow: hidden !important;
}

#dashboardView .home-weather-meta > span,
#dashboardView .home-weather-now {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

#dashboardView .home-weather-now {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  max-width: 220px !important;
}

#dashboardView .home-weather-now #welcomeWeather {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-weather-meta > #welcomeAirQuality.home-air-quality {
  min-width: 78px !important;
  height: 22px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  line-height: 20px !important;
}

#dashboardView .entry-service,
#dashboardView .entry-bill {
  background: linear-gradient(135deg, #fff2dc, #fffaf1) !important;
}

#dashboardView .entry-data,
#dashboardView .entry-company {
  background: linear-gradient(135deg, #e4fff3, #f4fffb) !important;
}

#dashboardView .entry-air,
#dashboardView .entry-tool {
  background: linear-gradient(135deg, #f0eaff, #fbf8ff) !important;
}

#dashboardView .home-quick-config {
  position: absolute !important;
  top: 58px !important;
  right: 18px !important;
  z-index: 12 !important;
  width: 250px !important;
  padding: 14px !important;
  border: 1px solid #dbe7f6 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(69, 94, 130, .16) !important;
}

#dashboardView .home-quick-options {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 10px !important;
  margin-bottom: 12px !important;
}

#dashboardView .home-quick-options label {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  color: #536780 !important;
  font-size: 13px !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  min-height: 330px !important;
  height: 330px !important;
  padding: 20px !important;
}

#dashboardView .home-gantt-panel {
  overflow: hidden !important;
}

#dashboardView .home-gantt-title {
  margin-bottom: 4px !important;
}

#dashboardView .home-decision-gantt {
  height: calc(100% - 58px) !important;
}

#dashboardView .home-gantt-head {
  padding-top: 0 !important;
}

#dashboardView .home-gantt-body {
  grid-template-rows: repeat(5, 40px) !important;
}

#dashboardView .home-gantt-row:nth-of-type(n+6) {
  display: none !important;
}

#dashboardView .home-promo-banner {
  position: relative !important;
  min-height: 168px !important;
  height: 168px !important;
  overflow: hidden !important;
  padding: 0 !important;
  background:
    var(--culture-bg, url("/assets/home-bg-v89.png")) center / cover no-repeat,
    linear-gradient(120deg, #eef7ff, #ffffff) !important;
}

#dashboardView .home-promo-banner::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
}

#dashboardView .home-culture-edit {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  z-index: 3 !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(8px) !important;
}

#dashboardView .home-company-notice {
  min-height: 168px !important;
  height: 168px !important;
  padding: 18px 18px 14px !important;
  overflow: hidden !important;
}

#dashboardView .home-notice-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  gap: 14px !important;
  align-items: center !important;
}

#dashboardView .home-company-notice-list {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#dashboardView .home-company-notice-item {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #536780 !important;
  text-align: left !important;
}

#dashboardView .home-company-notice-item i {
  display: grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
  background: #eaf3ff !important;
  color: #4c88f2 !important;
  font-size: 11px !important;
  font-style: normal !important;
}

#dashboardView .home-company-notice-item span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView .home-company-notice-item time {
  color: #9aa8ba !important;
  font-size: 12px !important;
}

#dashboardView .home-notice-layout img {
  width: 92px !important;
  height: 92px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
}

@media (max-width: 1280px) {
  #dashboardView.workspace-home {
    padding: 18px 20px 30px !important;
  }

  #dashboardView .home-top-grid,
  #dashboardView .home-workbench-grid,
  #dashboardView .home-bottom-grid {
    grid-template-columns: 1fr !important;
  }

  #dashboardView .home-quick-panel,
  #dashboardView .home-company-notice {
    height: auto !important;
    min-height: 150px !important;
  }
}

@media (max-width: 820px) {
  #dashboardView.workspace-home {
    padding: 14px !important;
  }

  #dashboardView .home-hero-card {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 180px !important;
  }

  #dashboardView .home-hero-illustration {
    display: none !important;
  }

  #dashboardView .quick-entry-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Home dashboard hotfix v95: restore nav/quick icons and remove mojibake fallout. */
#appView #nav .oa-icon {
  display: inline-block !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 12px 0 0 !important;
  color: currentColor !important;
  background: currentColor !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-size: 21px 21px !important;
  mask-position: center !important;
  mask-repeat: no-repeat !important;
  mask-size: 21px 21px !important;
}

#appView #nav .nav-section-toggle span,
#appView #nav .system-entry > button span {
  display: inline-flex !important;
  align-items: center !important;
}

#appView #nav .nav-subsection-toggle > span::before {
  content: "" !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin-right: 12px !important;
  border-radius: 7px !important;
  color: #607089 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  background: transparent !important;
}

#appView #nav [data-nav-subsection="customerService"] > .nav-subsection-toggle > span::before { content: "♙" !important; }
#appView #nav [data-nav-subsection="decisions"] > .nav-subsection-toggle > span::before { content: "☑" !important; }
#appView #nav [data-nav-subsection="quality"] > .nav-subsection-toggle > span::before { content: "▣" !important; }
#appView #nav [data-nav-subsection="dataCollection"] > .nav-subsection-toggle > span::before { content: "⌁" !important; }
#appView #nav [data-nav-subsection="salary"] > .nav-subsection-toggle > span::before { content: "¥" !important; }
#appView #nav [data-nav-subsection="personnel"] > .nav-subsection-toggle > span::before { content: "☷" !important; }
#appView #nav [data-nav-subsection="enterprisePromotion"] > .nav-subsection-toggle > span::before { content: "☊" !important; }
#appView #nav [data-nav-subsection$="Bills"] > .nav-subsection-toggle > span::before { content: "▤" !important; }
#appView #nav [data-nav-subsection="tmallAirCleanBills"] > .nav-subsection-toggle > span::before { content: "◌" !important; }

#appView.app-shell.sidebar-collapsed #nav .nav-subsection-toggle > span::before {
  margin-right: 0 !important;
}

#dashboardView .quick-entry .entry-icon {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 15px !important;
  color: #2f72e8 !important;
  background: #eef5ff !important;
}

#dashboardView .quick-entry .entry-icon::before {
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: currentColor !important;
  -webkit-mask: none !important;
  mask: none !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

#dashboardView .entry-flow::before { content: "♙" !important; }
#dashboardView .entry-task::before { content: "✓" !important; }
#dashboardView .entry-data::before { content: "▥" !important; }
#dashboardView .entry-service::before { content: "☏" !important; }
#dashboardView .entry-bill::before { content: "▤" !important; }
#dashboardView .entry-air::before { content: "⌁" !important; }
#dashboardView .entry-company::before { content: "◈" !important; }
#dashboardView .entry-tool::before { content: "⚙" !important; }

#dashboardView .entry-flow { color: #2f72e8 !important; background: #edf5ff !important; }
#dashboardView .entry-task { color: #f28a2e !important; background: #fff4e6 !important; }
#dashboardView .entry-data { color: #22a66a !important; background: #eafaf2 !important; }
#dashboardView .entry-service { color: #7c59e8 !important; background: #f2edff !important; }
#dashboardView .entry-bill { color: #2f72e8 !important; background: #edf5ff !important; }
#dashboardView .entry-air { color: #18a8aa !important; background: #e8fbfb !important; }
#dashboardView .entry-company { color: #22a66a !important; background: #eafaf2 !important; }
#dashboardView .entry-tool { color: #7c59e8 !important; background: #f2edff !important; }

@media (min-width: 1281px) {
  #dashboardView .home-top-grid {
    grid-template-columns: minmax(0, 1fr) 360px !important;
  }

  #dashboardView .home-workbench-grid {
    grid-template-columns: minmax(330px, .31fr) minmax(0, .69fr) !important;
  }

  #dashboardView .home-bottom-grid {
    grid-template-columns: minmax(0, .62fr) minmax(390px, .38fr) !important;
  }
}

/* Icon polish v96: use line-style masks instead of fallback symbols. */
#appView #nav .nav-subsection-toggle > span::before {
  content: "" !important;
  font-size: 0 !important;
  background: currentColor !important;
  color: #607089 !important;
  -webkit-mask: var(--nav-sub-mask) center / 20px 20px no-repeat !important;
  mask: var(--nav-sub-mask) center / 20px 20px no-repeat !important;
}

#appView #nav [data-nav-subsection="customerService"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a4 4 0 0 0-4 4v3a4 4 0 0 0 8 0V7a4 4 0 0 0-4-4ZM5 11v1a7 7 0 0 0 14 0v-1M12 19v2M8 21h8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

#appView #nav [data-nav-subsection="decisions"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v16H5zM8 8h8M8 12h5M8 16h7' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#appView #nav [data-nav-subsection="quality"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 8 4v5c0 5-3.5 8-8 9-4.5-1-8-4-8-9V7zM9 12l2 2 4-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#appView #nav [data-nav-subsection="dataCollection"] > .nav-subsection-toggle > span::before,
#appView #nav [data-nav-subsection="enterprisePromotion"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19V9M12 19V5M19 19v-7' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E");
}

#appView #nav [data-nav-subsection="salary"] > .nav-subsection-toggle > span::before,
#appView #nav [data-nav-subsection$="Bills"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v18l-2-1-2 1-2-1-2 1-2-1zM9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

#appView #nav [data-nav-subsection="personnel"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M3 20v-2c0-3 2.7-5 6-5s6 2 6 5v2M16 5.5a3 3 0 0 1 0 5.5M17 14c2.4.4 4 2 4 4v2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

#appView #nav [data-nav-subsection="tmallAirCleanBills"] > .nav-subsection-toggle > span::before {
  --nav-sub-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8h10a3 3 0 1 0-3-3M4 13h15a3 3 0 1 1-3 3M4 18h8' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

#dashboardView .quick-entry .entry-icon::before {
  content: "" !important;
  width: 24px !important;
  height: 24px !important;
  background: currentColor !important;
  -webkit-mask: var(--entry-mask) center / 24px 24px no-repeat !important;
  mask: var(--entry-mask) center / 24px 24px no-repeat !important;
}

#dashboardView .entry-flow {
  --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h4v4H7zM13 13h4v4h-4zM11 9h3a2 2 0 0 1 2 2v2M13 15h-3a2 2 0 0 1-2-2v-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#dashboardView .entry-task {
  --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h14M5 12h14M5 18h8M8 9l-2 2-1-1M8 15l-2 2-1-1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#dashboardView .entry-service {
  --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h14v10H8l-3 3zM8 10h8M8 13h5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#dashboardView .entry-company {
  --entry-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21h16M6 21V5h8v16M14 9h4v12M9 9h2M9 13h2M9 17h2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Functional repair v97: restore module display and target the real customer workbench id. */
#appView .content > .view.hidden {
  display: none !important;
}

#appView .content > .view:not(.hidden) {
  display: block !important;
  visibility: visible !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) {
  display: grid !important;
}

#appView .content > #productCenterView:not(.hidden) {
  display: flex !important;
  flex-direction: column !important;
}

#customerWorkbenchView {
  width: 100% !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding-inline: 16px !important;
  scrollbar-gutter: stable !important;
}

#customerWorkbenchView .customer-shell {
  width: 100% !important;
  max-width: none !important;
  min-width: 1280px !important;
}

#customerWorkbenchView .customer-hero {
  min-width: 1280px !important;
}

#customerWorkbenchView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: 360px minmax(900px, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 1280px !important;
  max-width: none !important;
  overflow: visible !important;
}

#customerWorkbenchView .customer-main-workarea {
  display: contents !important;
}

#customerWorkbenchView .customer-consult-form {
  grid-column: 1 !important;
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  align-self: start !important;
}

#customerWorkbenchView .customer-processing-panel {
  grid-column: 2 !important;
  min-width: 900px !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-gutter: stable !important;
}

#customerWorkbenchView .customer-processing-panel > .record-header,
#customerWorkbenchView .customer-processing-panel .record-header.compact {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-width: 1180px !important;
}

#customerWorkbenchView .customer-process-search {
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) 44px !important;
  gap: 8px !important;
  width: min(520px, 48vw) !important;
  min-width: 420px !important;
}

#customerWorkbenchView .customer-process-search .search {
  width: 100% !important;
  min-width: 0 !important;
}

#customerWorkbenchView .customer-process-info {
  display: grid !important;
  grid-template-columns: 110px 150px 130px 150px 280px 170px 140px 210px 260px 270px 300px !important;
  grid-template-rows: 104px 126px !important;
  gap: 8px !important;
  width: 2240px !important;
  min-width: 2240px !important;
  max-width: none !important;
  padding: 8px !important;
  border: 1px solid #cfe3f5 !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
  overflow: visible !important;
}

#customerWorkbenchView .customer-process-info.is-empty {
  width: 100% !important;
  min-width: 1180px !important;
  min-height: 120px !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field {
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px !important;
  border: 1px solid #bed8ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field b,
#customerWorkbenchView .customer-process-info .customer-process-field i,
#customerWorkbenchView .customer-process-info .customer-process-field em {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field b {
  flex: 0 0 auto !important;
  width: 100% !important;
  color: #164367 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field i {
  flex: 1 1 auto !important;
  width: 100% !important;
  margin-top: 8px !important;
  color: #203246 !important;
  font-style: normal !important;
  line-height: 1.45 !important;
  white-space: pre-wrap !important;
  overflow: auto !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field em {
  margin-top: 6px !important;
  font-size: 12px !important;
}

#customerWorkbenchView .customer-process-field-1 { grid-column: 1 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-2 { grid-column: 2 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-3 { grid-column: 3 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-4 { grid-column: 4 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-5 { grid-column: 5 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-6 { grid-column: 6 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-11 { grid-column: 7 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-field-7 { grid-column: 1 / 3 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-field-8 { grid-column: 3 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-field-9 { grid-column: 4 / 6 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-field-10 { grid-column: 6 / 8 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-field-12 { grid-column: 8 / 12 !important; grid-row: 2 !important; }

#customerWorkbenchView .customer-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(300px, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 900px !important;
  max-width: none !important;
  overflow: visible !important;
}

#customerWorkbenchView .customer-mini-form {
  min-width: 0 !important;
}

#customerWorkbenchView .customer-ledger-section,
#customerWorkbenchView .customer-list-panel,
#customerWorkbenchView .customer-ledger-table,
#customerWorkbenchView #customerRecentRecords {
  width: 100% !important;
  max-width: none !important;
  min-width: 1280px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-gutter: stable !important;
}

#customerWorkbenchView .customer-order-ledger {
  min-width: 1580px !important;
  width: max-content !important;
  max-width: none !important;
}

#customerWorkbenchView .customer-order-columns,
#customerWorkbenchView .customer-order-body,
#customerWorkbenchView .customer-order-card {
  min-width: 1580px !important;
  width: 1580px !important;
  max-width: none !important;
}

#customerWorkbenchView .customer-order-columns,
#customerWorkbenchView .customer-order-body {
  display: grid !important;
  grid-template-columns: 180px 300px 100px 190px 130px 230px 240px 210px !important;
}

#customerWorkbenchView .customer-order-body > section,
#customerWorkbenchView .customer-order-handover,
#customerWorkbenchView .customer-order-progress,
#customerWorkbenchView .customer-order-remark {
  min-width: 0 !important;
  overflow: hidden !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

#customerWorkbenchView .customer-order-body > section > p,
#customerWorkbenchView .customer-order-body > section > div,
#customerWorkbenchView .customer-order-body > section > span,
#customerWorkbenchView .customer-order-handover .handover-reason,
#customerWorkbenchView .customer-order-progress .progress-line {
  display: block !important;
  max-width: 100% !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

@media (max-width: 1380px) {
  #customerWorkbenchView {
    padding-inline: 12px !important;
  }

  #customerWorkbenchView .customer-shell,
  #customerWorkbenchView .customer-hero,
  #customerWorkbenchView .customer-desk-grid,
  #customerWorkbenchView .customer-ledger-section,
  #customerWorkbenchView .customer-list-panel {
    min-width: 1280px !important;
  }
}

/* Home 1:1 rebuild v98: match the ecommerce dashboard reference layout. */
#appView #nav .nav-subsection-toggle > span::before,
#appView.app-shell.sidebar-collapsed #nav .nav-subsection-toggle > span::before {
  display: none !important;
  content: none !important;
}

#appView #nav .nav-subsection-toggle > span {
  padding-left: 0 !important;
}

#appView #nav .nav-subsection .nav-sublist button,
#appView #nav .nav-subsection .nav-subsection-toggle {
  font-weight: 400 !important;
}

#appView #nav .nav-home-button.active,
#appView #nav button.active,
#appView #nav .nav-section-toggle.active,
#appView #nav .nav-subsection-toggle.active {
  background: #edf5ff !important;
  color: #2f72e8 !important;
  box-shadow: none !important;
}

#dashboardView.workspace-home {
  --home-gap: 16px;
  --home-pad: 24px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--home-gap) !important;
  align-content: start !important;
  width: 100% !important;
  min-height: calc(100vh - 74px) !important;
  padding: var(--home-pad) !important;
  background:
    linear-gradient(90deg, rgba(246, 250, 255, .84), rgba(246, 250, 255, .72)),
    url("/assets/home-page-bg-v98.png") right bottom / cover no-repeat !important;
  overflow: auto !important;
}

#dashboardView.workspace-home > section {
  width: 100% !important;
  max-width: none !important;
}

#dashboardView .home-top-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: var(--home-gap) !important;
  align-items: stretch !important;
}

#dashboardView .home-workbench-grid {
  display: grid !important;
  grid-template-columns: minmax(330px, .31fr) minmax(0, .69fr) !important;
  gap: var(--home-gap) !important;
  align-items: stretch !important;
}

#dashboardView .home-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .62fr) minmax(390px, .38fr) !important;
  gap: var(--home-gap) !important;
  align-items: stretch !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-quick-panel,
#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel,
#dashboardView .home-promo-banner,
#dashboardView .home-company-notice {
  border: 1px solid rgba(202, 219, 239, .72) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 38px rgba(78, 125, 178, .08) !important;
}

#dashboardView .home-hero-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  height: 210px !important;
  min-height: 210px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: url("/assets/home-hero-card-bg-v98.png") center / cover no-repeat !important;
}

#dashboardView .home-hero-illustration {
  display: none !important;
}

#dashboardView .home-hero-main {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 26px !important;
  width: 54% !important;
  min-width: 520px !important;
  padding: 28px 0 22px 54px !important;
}

#dashboardView .home-avatar-picker,
#dashboardView .user-avatar-lg {
  width: 86px !important;
  height: 86px !important;
  border-radius: 50% !important;
}

#dashboardView .home-avatar-picker {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .user-avatar-lg {
  display: grid !important;
  place-items: center !important;
  border: 2px solid rgba(117, 166, 236, .42) !important;
  background-color: #eef6ff !important;
  color: #6f8aaa !important;
  font-size: 28px !important;
  overflow: hidden !important;
}

#dashboardView .user-avatar.has-image,
#appView .user-avatar.has-image {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: transparent !important;
}

#dashboardView .home-hero-copy {
  min-width: 0 !important;
}

#dashboardView .home-hero-copy .eyebrow,
#dashboardView .home-panel-head .eyebrow,
#dashboardView .home-promo-banner .eyebrow {
  display: none !important;
}

#dashboardView .home-hero-copy h1 {
  margin: 0 0 8px !important;
  color: #14233a !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
}

#dashboardView .home-hero-copy p:not(.eyebrow) {
  margin: 0 !important;
  color: #253a55 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

#dashboardView .home-weather-meta {
  position: absolute !important;
  left: 54px !important;
  right: 42px !important;
  bottom: 25px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-weather-meta span {
  color: #5b6c82 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-weather-meta span + span {
  padding-left: 14px !important;
  border-left: 1px solid rgba(99, 118, 142, .28) !important;
}

#dashboardView .home-quick-panel {
  min-height: 210px !important;
  padding: 26px 28px !important;
  background: rgba(255, 255, 255, .88) !important;
}

#dashboardView .home-panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 0 20px !important;
}

#dashboardView .home-panel-head h3,
#dashboardView .home-mini-panel h3,
#dashboardView .home-promo-banner h3 {
  margin: 0 !important;
  color: #15243a !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
}

#dashboardView .home-quick-panel .text-link,
#dashboardView #homeQuickEdit,
#dashboardView #homeQuickConfig {
  display: none !important;
}

#dashboardView .quick-entry-grid.compact {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

#dashboardView .quick-entry {
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 96px !important;
  padding: 6px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #223149 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-align: center !important;
}

#dashboardView .quick-entry .entry-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  height: 350px !important;
  min-height: 350px !important;
  padding: 28px !important;
  background: rgba(255, 255, 255, .9) !important;
}

#dashboardView .home-todo-list {
  height: calc(100% - 50px) !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-item {
  font-weight: 400 !important;
}

#dashboardView .home-gantt-panel {
  position: relative !important;
}

#dashboardView .home-gantt-title {
  position: absolute !important;
  top: 28px !important;
  left: 28px !important;
  z-index: 2 !important;
  margin: 0 !important;
}

#dashboardView .home-decision-gantt {
  height: 100% !important;
  padding-top: 0 !important;
}

#dashboardView .home-gantt-head {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  align-items: start !important;
  min-height: 54px !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}

#dashboardView .home-gantt-head > div:first-child {
  visibility: hidden !important;
}

#dashboardView .home-gantt-days {
  align-self: start !important;
  display: grid !important;
  grid-template-columns: repeat(var(--home-gantt-day-count, 15), minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding-top: 2px !important;
}

#dashboardView .home-gantt-days span {
  color: #8798af !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

#dashboardView .home-gantt-days span.today,
#dashboardView .home-gantt-days span.today b,
#dashboardView .home-gantt-days span.today small {
  color: #2f72e8 !important;
}

#dashboardView .home-gantt-days span.today::before,
#dashboardView .home-gantt-days span.today::after {
  display: none !important;
  content: none !important;
}

#dashboardView .home-gantt-body {
  height: calc(100% - 60px) !important;
}

#dashboardView .home-gantt-row:nth-of-type(n+6) {
  display: none !important;
}

#dashboardView .home-promo-banner {
  min-height: 210px !important;
  height: 210px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background:
    var(--culture-bg, url("/assets/home-page-bg-v98.png")) center / cover no-repeat,
    rgba(255, 255, 255, .9) !important;
}

#dashboardView .home-promo-banner::after,
#dashboardView .home-culture-edit,
#dashboardView .home-culture-dots {
  display: none !important;
}

#dashboardView .home-company-notice {
  min-height: 210px !important;
  height: 210px !important;
  padding: 24px 28px !important;
  background: url("/assets/home-notice-card-bg-v98.png") center / cover no-repeat !important;
  overflow: hidden !important;
}

#dashboardView .home-notice-layout {
  display: block !important;
  height: calc(100% - 42px) !important;
}

#dashboardView .home-notice-layout img {
  display: none !important;
}

#dashboardView .home-company-notice-list {
  display: grid !important;
  gap: 8px !important;
  max-width: 70% !important;
}

#dashboardView .home-company-notice-item {
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  min-height: 24px !important;
  color: #485c75 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item span {
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item i {
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
}

@media (max-width: 1280px) {
  #dashboardView.workspace-home {
    --home-pad: 20px;
  }

  #dashboardView .home-top-grid,
  #dashboardView .home-workbench-grid,
  #dashboardView .home-bottom-grid {
    min-width: 1040px !important;
  }
}

/* Home correction v99: force design-proportional spacing and card composition. */
#dashboardView.workspace-home {
  --home-gap: 16px !important;
  --home-edge: 24px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(90deg, rgba(246, 250, 255, .76), rgba(246, 250, 255, .66)),
    url("/assets/home-page-bg-v98.png") right bottom / cover no-repeat !important;
}

#dashboardView.workspace-home > section {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--home-edge) !important;
  margin-right: var(--home-edge) !important;
}

#dashboardView.workspace-home > section:first-child {
  margin-top: var(--home-edge) !important;
}

#dashboardView.workspace-home > section:last-child {
  margin-bottom: var(--home-edge) !important;
}

#dashboardView .home-top-grid,
#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  gap: var(--home-gap) !important;
}

#dashboardView .home-top-grid,
#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#dashboardView .home-bottom-grid {
  grid-template-columns: minmax(0, 1fr) 500px !important;
  align-items: stretch !important;
}

#dashboardView .home-bottom-grid > .home-promo-banner {
  min-width: 0 !important;
}

#dashboardView .home-bottom-grid > .home-company-notice,
#dashboardView .home-company-notice {
  width: 500px !important;
  min-width: 500px !important;
  max-width: 500px !important;
}

#dashboardView .home-top-grid {
  grid-template-columns: minmax(0, 1fr) 360px !important;
}

#dashboardView .home-workbench-grid {
  grid-template-columns: minmax(330px, .31fr) minmax(0, .69fr) !important;
}

#dashboardView .home-bottom-grid {
  grid-template-columns: minmax(0, 1fr) minmax(330px, .31fr) !important;
}

#dashboardView .home-hero-card {
  display: grid !important;
  grid-template-columns: minmax(0, .56fr) minmax(360px, .44fr) !important;
  align-items: center !important;
  height: 210px !important;
  min-height: 210px !important;
  padding: 0 !important;
  background:
    linear-gradient(90deg, rgba(244, 250, 255, .52), rgba(244, 250, 255, .16)),
    url("/assets/home-hero-card-bg-v98.png") center / cover no-repeat !important;
}

#dashboardView .home-hero-main {
  display: grid !important;
  grid-template-columns: 94px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 28px !important;
  row-gap: 22px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 0 0 58px !important;
}

#dashboardView .home-avatar-picker {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
}

#dashboardView .home-hero-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  min-width: 0 !important;
}

#dashboardView .home-hero-copy h1 {
  display: block !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  font-size: 29px !important;
  line-height: 1.18 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-hero-copy p:not(.eyebrow) {
  max-width: 520px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-weather-meta {
  position: static !important;
  grid-column: 1 / 3 !important;
  grid-row: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#dashboardView .home-weather-meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}

#dashboardView .home-weather-meta span + span {
  padding-left: 14px !important;
}

#dashboardView .home-quick-panel {
  height: 210px !important;
  min-height: 210px !important;
  padding: 26px 28px !important;
  background: rgba(255, 255, 255, .88) !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  height: 350px !important;
  min-height: 350px !important;
}

#dashboardView .home-promo-banner,
#dashboardView .home-company-notice {
  height: 210px !important;
  min-height: 210px !important;
}

#dashboardView .home-company-notice {
  position: relative !important;
  padding: 24px 28px !important;
  background: rgba(255, 255, 255, .9) !important;
  overflow: hidden !important;
}

#dashboardView .home-company-notice::after {
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  bottom: 8px !important;
  width: 142px !important;
  height: 108px !important;
  background: url("/assets/home-notice-card-bg-v98.png") right bottom / 220px auto no-repeat !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

#dashboardView .home-company-notice .home-panel-head {
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 18px !important;
}

#dashboardView .home-company-notice .home-panel-head h3 {
  font-size: 20px !important;
  font-weight: 600 !important;
}

#dashboardView .home-company-notice .text-link {
  color: #3d82f6 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-notice-layout {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  height: auto !important;
}

#dashboardView .home-company-notice-list {
  max-width: calc(100% - 132px) !important;
  gap: 9px !important;
}

#dashboardView .home-company-notice-item {
  min-height: 25px !important;
  padding: 0 !important;
  color: #42556f !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  background: transparent !important;
}

#dashboardView .home-company-notice-item span,
#dashboardView .home-company-notice-item time {
  font-weight: 400 !important;
}

#dashboardView .home-promo-banner {
  background:
    var(--culture-bg, url("/assets/home-page-bg-v98.png")) center / cover no-repeat,
    rgba(255, 255, 255, .88) !important;
}

@media (max-width: 1280px) {
  #dashboardView.workspace-home {
    --home-edge: 18px !important;
  }

  #dashboardView .home-top-grid,
  #dashboardView .home-workbench-grid,
  #dashboardView .home-bottom-grid {
    min-width: 1040px !important;
  }
}

/* Home emergency correction v100: stop clipping greeting/weather and restore notice card. */
#dashboardView .home-hero-card {
  position: relative !important;
  display: block !important;
  height: 190px !important;
  min-height: 190px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(246, 251, 255, .3), rgba(246, 251, 255, .08)),
    url("/assets/home-hero-card-bg-v98.png") center / cover no-repeat !important;
}

#dashboardView .home-hero-main {
  position: absolute !important;
  inset: 0 auto 0 54px !important;
  width: min(720px, 58%) !important;
  min-width: 560px !important;
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  grid-template-rows: 1fr auto !important;
  column-gap: 26px !important;
  row-gap: 20px !important;
  align-items: center !important;
  padding: 28px 0 26px !important;
}

#dashboardView .home-avatar-picker {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  width: 82px !important;
  height: 82px !important;
}

#dashboardView .user-avatar-lg {
  width: 82px !important;
  height: 82px !important;
}

#dashboardView .home-hero-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  align-self: center !important;
}

#dashboardView .home-hero-copy h1,
#dashboardView #welcomeGreeting {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 8px !important;
  color: #14233a !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

#dashboardView .home-hero-copy p:not(.eyebrow),
#dashboardView #welcomeSubtitle {
  display: block !important;
  max-width: none !important;
  color: #2f4058 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

#dashboardView .home-weather-meta {
  position: static !important;
  grid-column: 1 / 3 !important;
  grid-row: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

#dashboardView .home-weather-meta span,
#dashboardView .home-weather-meta #welcomeWeekday,
#dashboardView .home-weather-meta #welcomeDate,
#dashboardView .home-weather-meta #welcomeWeather {
  display: inline-flex !important;
  align-items: center !important;
  color: #5d6e84 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-weather-meta span + span {
  padding-left: 12px !important;
  border-left: 1px solid rgba(93, 110, 132, .28) !important;
}

#dashboardView .home-company-notice {
  position: relative !important;
  height: 210px !important;
  min-height: 210px !important;
  padding: 24px 28px !important;
  background: rgba(255, 255, 255, .94) !important;
  overflow: hidden !important;
}

#dashboardView .home-company-notice::after {
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  bottom: 16px !important;
  width: 110px !important;
  height: 86px !important;
  background: url("/assets/home-notice-card-bg-v98.png") right bottom / 178px auto no-repeat !important;
  opacity: .28 !important;
  pointer-events: none !important;
}

#dashboardView .home-company-notice .home-panel-head {
  margin: 0 0 18px !important;
}

#dashboardView .home-company-notice-list {
  max-width: calc(100% - 112px) !important;
  gap: 8px !important;
}

#dashboardView .home-company-notice-item {
  min-height: 24px !important;
  grid-template-columns: 22px minmax(0, 1fr) 44px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item span {
  color: #435873 !important;
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item time {
  color: #8b9ab0 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

/* v104 final homepage rebuild + customer process card */
:root {
  --jprx-blue: #2f72e8;
  --jprx-blue-soft: #edf5ff;
  --jprx-text: #15243a;
  --jprx-muted: #6b7b92;
  --jprx-line: #dbe7f5;
  --jprx-card-shadow: 0 14px 34px rgba(36, 72, 118, .08);
}

body button.primary,
body .primary,
body button.compact-btn.primary {
  background: #2f72e8 !important;
  border: 1px solid #2f72e8 !important;
  color: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 22px rgba(47, 114, 232, .18) !important;
}

body button.secondary,
body .secondary,
body button.compact-btn.secondary {
  background: #fff !important;
  border: 1px solid #d6e4f4 !important;
  color: #263a55 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body button.danger,
body .danger,
#logoutBtn,
.logout-btn,
.nav-logout {
  background: #fff7f8 !important;
  border: 1px solid #ffd3dc !important;
  color: #df4961 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

body button.text-link,
body .text-link {
  background: transparent !important;
  border: 0 !important;
  color: #2f72e8 !important;
  box-shadow: none !important;
}

#dashboardView.workspace-home {
  --home-gap: 16px;
  --home-edge: 24px;
  --home-side: 420px;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: var(--home-gap) !important;
  min-height: calc(100vh - 72px) !important;
  min-width: 1160px !important;
  margin: 0 !important;
  padding: var(--home-edge) !important;
  background:
    linear-gradient(180deg, rgba(247, 251, 255, .78), rgba(247, 251, 255, .66)),
    url("/assets/home-page-bg-v98.png") right bottom / cover no-repeat !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#dashboardView.workspace-home > section {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#dashboardView .home-top-grid,
#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  display: grid !important;
  gap: var(--home-gap) !important;
  align-items: stretch !important;
}

#dashboardView .home-top-grid {
  grid-template-columns: minmax(0, 1fr) var(--home-side) !important;
}

#dashboardView .home-workbench-grid {
  grid-template-columns: var(--home-side) minmax(0, 1fr) !important;
}

#dashboardView .home-bottom-grid {
  grid-template-columns: minmax(0, 1fr) var(--home-side) !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-quick-panel,
#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel,
#dashboardView .home-promo-banner,
#dashboardView .home-company-notice {
  border: 1px solid rgba(206, 224, 244, .9) !important;
  border-radius: 14px !important;
  background-color: rgba(255, 255, 255, .92) !important;
  box-shadow: var(--jprx-card-shadow) !important;
  box-sizing: border-box !important;
}

#dashboardView .home-hero-card {
  position: relative !important;
  display: block !important;
  height: 230px !important;
  min-height: 230px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(248, 252, 255, .18), rgba(248, 252, 255, .02)),
    url("/assets/home-hero-card-bg-v98.png") center / cover no-repeat !important;
}

#dashboardView .home-hero-card.has-weather-bg {
  background:
    linear-gradient(90deg, rgba(248, 252, 255, .18), rgba(248, 252, 255, .02)),
    url("/assets/home-hero-card-bg-v98.png") center / cover no-repeat !important;
}

#dashboardView .home-hero-main {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}

#dashboardView .home-avatar-picker {
  position: absolute !important;
  left: 56px !important;
  top: 58px !important;
  width: 86px !important;
  height: 86px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: none !important;
}

#dashboardView .user-avatar-lg,
#dashboardView #homeAvatar {
  width: 86px !important;
  height: 86px !important;
  border-radius: 50% !important;
  background-color: rgba(242, 248, 255, .92) !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: none !important;
}

#dashboardView .user-avatar.has-image,
#dashboardView #homeAvatar.has-image {
  background-size: cover !important;
  background-position: center !important;
}

#dashboardView .home-hero-copy {
  position: absolute !important;
  left: 186px !important;
  top: 58px !important;
  right: 340px !important;
  width: auto !important;
  min-width: 330px !important;
  max-width: 560px !important;
  transform: none !important;
}

#dashboardView .home-hero-copy .eyebrow {
  display: none !important;
}

#dashboardView .home-hero-copy h1,
#dashboardView #welcomeGreeting {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #13243d !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-hero-copy p,
#dashboardView #welcomeSubtitle {
  display: block !important;
  margin: 0 !important;
  color: #243852 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-hero-quote {
  position: absolute !important;
  left: 260px !important;
  top: 122px !important;
  margin: 0 !important;
  color: #3f526c !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

#dashboardView .home-weather-meta {
  position: absolute !important;
  left: 56px !important;
  right: 340px !important;
  bottom: 26px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

#dashboardView .home-weather-meta span,
#dashboardView .home-weather-meta #welcomeWeekday,
#dashboardView .home-weather-meta #welcomeDate,
#dashboardView .home-weather-meta #welcomeWeather {
  display: inline-flex !important;
  align-items: center !important;
  color: #5c6e86 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-weather-meta span + span {
  padding-left: 14px !important;
  border-left: 1px solid rgba(93, 110, 132, .26) !important;
}

#dashboardView .home-quick-panel {
  height: 230px !important;
  min-height: 230px !important;
  padding: 28px 30px !important;
}

#dashboardView .home-panel-head {
  margin: 0 0 22px !important;
}

#dashboardView .home-panel-head h3,
#dashboardView .home-mini-panel h3,
#dashboardView .home-promo-banner h3 {
  margin: 0 !important;
  color: #14243b !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

#dashboardView .home-panel-head .eyebrow,
#dashboardView .home-promo-banner .eyebrow {
  display: none !important;
}

#dashboardView .quick-entry-grid.compact {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: center !important;
}

#dashboardView .quick-entry {
  display: grid !important;
  place-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #253852 !important;
}

#dashboardView .quick-entry .entry-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  margin: 0 !important;
}

#dashboardView .quick-entry span {
  display: block !important;
  color: #263a55 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
}

#dashboardView #homeQuickEdit,
#dashboardView #homeQuickConfig {
  display: none !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  height: 320px !important;
  min-height: 320px !important;
  padding: 28px 30px !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-list {
  margin-top: 18px !important;
  gap: 12px !important;
}

#dashboardView .home-gantt-panel {
  position: relative !important;
}

#dashboardView .home-gantt-title {
  position: absolute !important;
  left: 30px !important;
  top: 28px !important;
  z-index: 2 !important;
  margin: 0 !important;
}

#dashboardView .home-decision-gantt {
  height: 100% !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#dashboardView .home-gantt-head {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  align-items: start !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
  border-bottom: 1px solid #e2ebf6 !important;
}

#dashboardView .home-gantt-head > div:first-child {
  padding-top: 44px !important;
  color: #354865 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

#dashboardView .home-gantt-days {
  display: grid !important;
  grid-template-columns: repeat(var(--home-gantt-day-count, 10), minmax(0, 1fr)) !important;
  align-items: start !important;
  height: 56px !important;
  padding-top: 0 !important;
}

#dashboardView .home-gantt-days span {
  display: grid !important;
  place-items: start center !important;
  gap: 5px !important;
  min-width: 0 !important;
  color: #8798ae !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

#dashboardView .home-gantt-days span.today,
#dashboardView .home-gantt-days span.today b,
#dashboardView .home-gantt-days span.today small {
  color: #f02f58 !important;
  font-weight: 700 !important;
}

#dashboardView .home-gantt-days span.today::before,
#dashboardView .home-gantt-days span.today::after {
  display: none !important;
  content: none !important;
}

#dashboardView .home-gantt-body {
  height: 218px !important;
  min-height: 218px !important;
  padding-top: 18px !important;
}

#dashboardView .home-gantt-row:nth-of-type(n+6) {
  display: none !important;
}

#dashboardView .home-promo-banner,
#dashboardView .home-company-notice {
  height: 230px !important;
  min-height: 230px !important;
}

#dashboardView .home-promo-banner {
  position: relative !important;
  padding: 0 !important;
  background:
    var(--culture-bg, url("/assets/home-page-bg-v98.png")) center / cover no-repeat,
    rgba(255, 255, 255, .92) !important;
  overflow: hidden !important;
}

#dashboardView .home-promo-banner::before,
#dashboardView .home-promo-banner::after,
#dashboardView .home-culture-edit,
#dashboardView .home-culture-dots {
  display: none !important;
  content: none !important;
}

#dashboardView .home-company-notice {
  position: relative !important;
  padding: 28px 30px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(249, 253, 255, .92)),
    rgba(255, 255, 255, .94) !important;
  overflow: hidden !important;
}

#dashboardView .home-company-notice::after {
  content: "" !important;
  position: absolute !important;
  right: 14px !important;
  bottom: 10px !important;
  width: 112px !important;
  height: 92px !important;
  background: url("/assets/home-notice-bell-v94.png") center / contain no-repeat !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

#dashboardView .home-company-notice .home-panel-head {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 18px !important;
}

#dashboardView .home-company-notice-list {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  gap: 10px !important;
  max-width: calc(100% - 100px) !important;
}

#dashboardView .home-company-notice-item {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 48px !important;
  align-items: center !important;
  min-height: 25px !important;
  gap: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item i {
  display: grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
  background: #edf5ff !important;
  color: #2f72e8 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

#dashboardView .home-company-notice-item span {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #435873 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView .home-company-notice-item time {
  color: #8a9aaf !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-align: right !important;
}

@media (max-width: 1360px) {
  #dashboardView.workspace-home {
    --home-edge: 18px;
    --home-side: 360px;
    min-width: 1060px !important;
  }

  #dashboardView .home-hero-copy {
    right: 280px !important;
  }

  #dashboardView .home-weather-meta {
    right: 280px !important;
  }
}

#customerWorkbenchView .customer-processing-panel {
  overflow-x: auto !important;
  overflow-y: visible !important;
}

#customerWorkbenchView .customer-processing-panel > .record-header {
  min-width: 1320px !important;
  width: max(100%, 1320px) !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-process-info {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: 96px 118px !important;
  gap: 8px !important;
  width: max(100%, 1320px) !important;
  min-width: 1320px !important;
  max-width: none !important;
  margin: 8px 0 14px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #cfe1f4 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(229, 239, 250, .75) !important;
  overflow: visible !important;
}

#customerWorkbenchView .customer-process-info.is-empty {
  min-height: 242px !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  border: 1px solid #d1e3f6 !important;
  border-radius: 9px !important;
  background: #f9fcff !important;
  color: #183350 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  overflow: hidden !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field b,
#customerWorkbenchView .customer-process-info .customer-process-field i,
#customerWorkbenchView .customer-process-info .customer-process-field em {
  display: block !important;
  max-width: 100% !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field b {
  color: #16466f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field i {
  color: #223956 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  overflow: auto !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: break-word !important;
}

#customerWorkbenchView .customer-process-info .customer-process-field-1 { grid-column: 1 / 2 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-2 { grid-column: 2 / 4 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-3 { grid-column: 4 / 5 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-4 { grid-column: 5 / 7 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-5 { grid-column: 7 / 10 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-6 { grid-column: 10 / 12 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-11 { grid-column: 12 / 13 !important; grid-row: 1 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-7 { grid-column: 1 / 4 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-8 { grid-column: 4 / 6 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-9 { grid-column: 6 / 9 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-10 { grid-column: 9 / 11 !important; grid-row: 2 !important; }
#customerWorkbenchView .customer-process-info .customer-process-field-12 { grid-column: 11 / 13 !important; grid-row: 2 !important; }

#customerWorkbenchView .customer-process-grid {
  min-width: 1320px !important;
  width: max(100%, 1320px) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  box-sizing: border-box !important;
}

/* v104 viewport lock: keep the homepage canvas from being squeezed by .view rules. */
#appView,
#appView .content {
  min-width: 0 !important;
}

#appView .content {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden),
#appView .content > #dashboardView.view.workspace-home:not(.hidden) {
  --home-gap: 16px !important;
  --home-edge: 24px !important;
  --home-side: 420px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 1160px !important;
  min-width: 1160px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--home-edge) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) > .home-top-grid,
#appView .content > #dashboardView.workspace-home:not(.hidden) > .home-workbench-grid,
#appView .content > #dashboardView.workspace-home:not(.hidden) > .home-bottom-grid {
  width: 100% !important;
  min-width: 0 !important;
}

@media (min-width: 1500px) {
  #appView .content > #dashboardView.workspace-home:not(.hidden),
  #appView .content > #dashboardView.view.workspace-home:not(.hidden) {
    width: 100% !important;
    min-width: 1160px !important;
  }
}

#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta {
  height: 20px !important;
  min-height: 0 !important;
  max-height: 20px !important;
  overflow: visible !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta span,
#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta span + span,
#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta #welcomeDate {
  height: 18px !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  line-height: 18px !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta span + span,
#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta #welcomeDate,
#appView .content > #dashboardView.workspace-home:not(.hidden) .home-weather-meta #welcomeWeather {
  padding-left: 14px !important;
  border-left: 1px solid rgba(93, 110, 132, .26) !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) .home-bottom-grid > .home-promo-banner {
  display: block !important;
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) .home-bottom-grid > .home-company-notice {
  display: block !important;
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
}

/* v105 login memory controls */
.login-form .login-remember-option {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  margin: -2px 0 2px !important;
  color: #52657d !important;
  cursor: pointer !important;
  user-select: none !important;
}

.login-form .login-remember-option input {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #2f72e8 !important;
  box-shadow: none !important;
}

.login-form .login-remember-option span {
  display: inline !important;
  margin: 0 !important;
  color: #52657d !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* v106 home size calibration: topbar 75px, first row 24px below it, top cards 200px. */
#appView .topbar,
#appView .topbar.app-command-bar {
  height: 75px !important;
  min-height: 75px !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden),
#appView .content > #dashboardView.view.workspace-home:not(.hidden),
#dashboardView.workspace-home {
  min-height: calc(100vh - 75px) !important;
  padding-top: 24px !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) > section:first-child,
#appView .content > #dashboardView.workspace-home:not(.hidden) > .home-top-grid,
#dashboardView.workspace-home > section:first-child,
#dashboardView .home-top-grid {
  margin-top: 0 !important;
}

#dashboardView .home-top-grid {
  min-height: 200px !important;
  align-items: stretch !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-hero-card.has-weather-bg,
#dashboardView .home-quick-panel {
  height: 200px !important;
  min-height: 200px !important;
}

/* v107 home column widths: quick access 670px, company notice 600px. */
#appView .content > #dashboardView.workspace-home:not(.hidden),
#appView .content > #dashboardView.view.workspace-home:not(.hidden),
#dashboardView.workspace-home {
  min-width: 1640px !important;
}

#dashboardView .home-top-grid {
  grid-template-columns: minmax(0, 1fr) 670px !important;
}

#dashboardView .home-bottom-grid {
  grid-template-columns: minmax(0, 1fr) 600px !important;
}

#dashboardView .home-quick-panel {
  width: 670px !important;
}

#dashboardView .home-company-notice {
  width: 600px !important;
}

/* v108 fixed home canvas and blank upload-ready backgrounds. */
#appView .content {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden),
#appView .content > #dashboardView.view.workspace-home:not(.hidden),
#dashboardView.workspace-home {
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: 1640px !important;
  height: 854px !important;
  min-height: 854px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

#dashboardView .home-top-grid,
#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  width: 1592px !important;
  min-width: 1592px !important;
  max-width: 1592px !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-hero-card.has-weather-bg {
  width: 906px !important;
  background: #fff !important;
}

#dashboardView .home-company-notice {
  background: #fff !important;
}

#dashboardView .home-company-notice::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* v116: clean todo/gantt panels, fixed notice rows, aligned weather meta. */
#appView .content > #dashboardView.workspace-home:not(.hidden),
#appView .content > #dashboardView.view.workspace-home:not(.hidden),
#dashboardView.workspace-home {
  position: relative !important;
  isolation: isolate !important;
}

#dashboardView.workspace-home::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: rgba(246, 251, 255, .44) !important;
  -webkit-backdrop-filter: blur(10px) saturate(112%) !important;
  backdrop-filter: blur(10px) saturate(112%) !important;
}

#dashboardView.workspace-home > * {
  position: relative !important;
  z-index: 1 !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(180, 211, 247, .88) !important;
  box-shadow: 0 12px 30px rgba(42, 95, 150, .08) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

#dashboardView .home-todo-list {
  gap: 12px !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-item:nth-child(n+4) {
  display: none !important;
}

#dashboardView .home-todo-item {
  height: 50px !important;
  min-height: 50px !important;
  padding: 8px 12px !important;
  background: rgba(247, 250, 254, .86) !important;
  border: 1px solid rgba(218, 228, 241, .86) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

#dashboardView .home-todo-item strong {
  max-width: 240px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-decision-gantt {
  height: calc(100% - 46px) !important;
  padding: 0 30px 18px !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-head {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  align-items: start !important;
  height: 50px !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(188, 206, 228, .64) !important;
  background: transparent !important;
}

#dashboardView .home-gantt-head > div:first-child {
  align-self: center !important;
  color: #30425d !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-days {
  height: 50px !important;
  align-items: center !important;
  background: transparent !important;
}

#dashboardView .home-gantt-days span {
  height: 50px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#dashboardView .home-gantt-days span.today,
#dashboardView .home-gantt-days span.today b,
#dashboardView .home-gantt-days span.today small {
  color: #f02d5a !important;
}

#dashboardView .home-gantt-days span.today::before,
#dashboardView .home-gantt-days span.today::after {
  display: none !important;
}

#dashboardView .home-gantt-body {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  height: calc(100% - 50px) !important;
  padding: 14px 0 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

#dashboardView .home-gantt-overlay {
  position: absolute !important;
  left: 120px !important;
  right: 0 !important;
  top: 6px !important;
  bottom: 12px !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#dashboardView .home-gantt-overlay i {
  position: absolute !important;
  left: var(--home-gantt-today-left, 50%) !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  transform: translateX(-.5px) !important;
  background: rgba(240, 45, 90, .88) !important;
}

#dashboardView .home-gantt-row {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-gantt-row:hover {
  background: transparent !important;
}

#dashboardView .home-gantt-task,
#dashboardView .home-gantt-track {
  min-height: 30px !important;
  height: 30px !important;
  border: 0 !important;
  background: transparent !important;
}

#dashboardView .home-gantt-task strong {
  max-width: 112px !important;
  color: #1f3048 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

#dashboardView .home-gantt-track::before,
#dashboardView .home-today-line {
  display: none !important;
  content: none !important;
}

#dashboardView .home-gantt-track em {
  top: 50% !important;
  height: 14px !important;
  min-width: 32px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(59, 103, 209, .13) !important;
}

#dashboardView .home-company-notice .home-panel-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  align-items: center !important;
  padding: 26px 32px 8px !important;
}

#dashboardView .home-company-notice .text-link.disabled,
#dashboardView .home-company-notice .text-link:disabled {
  justify-self: end !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2f7cf6 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  opacity: .86 !important;
  cursor: default !important;
  box-shadow: none !important;
}

#dashboardView .home-company-notice-list {
  gap: 12px !important;
  padding: 0 32px 0 !important;
}

#dashboardView .home-company-notice-item {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) 72px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #263952 !important;
  cursor: default !important;
}

#dashboardView .home-company-notice-item span {
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  color: #31445f !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-company-notice-item time {
  justify-self: end !important;
  min-width: 72px !important;
  text-align: right !important;
  color: #8292a9 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-hero-card.has-weather-bg {
  overflow: hidden !important;
}

#dashboardView .home-weather-meta {
  left: 44px !important;
  right: 420px !important;
  top: auto !important;
  bottom: 22px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 11px !important;
  height: 24px !important;
  max-width: 650px !important;
  overflow: visible !important;
}

#dashboardView .home-weather-meta > span,
#dashboardView .home-weather-meta > #welcomeDate,
#dashboardView .home-weather-meta > #welcomeWeekday,
#dashboardView .home-weather-meta #welcomeWeather {
  flex: 0 0 auto !important;
  height: 24px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #5b6f88 !important;
  line-height: 24px !important;
  white-space: nowrap !important;
}

#dashboardView .home-weather-meta > span + span {
  padding-left: 0 !important;
  border-left: 0 !important;
}

#dashboardView .home-weather-now {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  max-width: 190px !important;
  overflow: hidden !important;
}

#dashboardView .home-weather-now #welcomeWeather {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-weather-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 18px !important;
  overflow: visible !important;
  box-shadow: none !important;
}

#dashboardView .home-weather-icon::before {
  left: 6px !important;
  top: 0 !important;
}

#dashboardView .home-weather-icon::after {
  left: 1px !important;
  bottom: 1px !important;
}

#dashboardView .home-weather-meta > #welcomeAirQuality.home-air-quality {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 72px !important;
  height: 22px !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  line-height: 20px !important;
  white-space: nowrap !important;
}

/* v120 homepage repair: consolidated final home layout without legacy tail overrides. */
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .content,
body:has(#dashboardView.workspace-home:not(.hidden)) #dashboardView.workspace-home,
#dashboardView.workspace-home {
  background:
    linear-gradient(rgba(246, 250, 255, .72), rgba(246, 250, 255, .78)),
    url("/assets/home-page-bg-v98.png") center bottom / 100% 100% no-repeat !important;
}

#dashboardView.workspace-home {
  --home-gap: 16px !important;
  --home-edge: 24px !important;
  min-height: calc(100vh - 75px) !important;
  padding: var(--home-edge) !important;
  box-sizing: border-box !important;
}

#dashboardView .home-top-grid,
#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  gap: var(--home-gap) !important;
}

#dashboardView .home-top-grid,
#dashboardView .home-workbench-grid,
#dashboardView .home-bottom-grid {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#dashboardView .home-bottom-grid {
  grid-template-columns: minmax(0, 1fr) 500px !important;
  align-items: stretch !important;
}

#dashboardView .home-bottom-grid > .home-promo-banner {
  min-width: 0 !important;
}

#dashboardView .home-bottom-grid > .home-company-notice,
#dashboardView .home-company-notice {
  width: 500px !important;
  min-width: 500px !important;
  max-width: 500px !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-quick-panel,
#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel,
#dashboardView .home-company-notice {
  border: 1px solid rgba(180, 212, 248, .9) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(41, 92, 155, .07) !important;
  overflow: hidden !important;
}

#dashboardView .home-hero-card,
#dashboardView .home-hero-card.has-weather-bg {
  position: relative !important;
  height: 220px !important;
  min-height: 220px !important;
  padding: 0 !important;
  background: url("/assets/home-hero-user-v115.png") center / 100% 100% no-repeat !important;
}

#dashboardView .home-hero-main {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-avatar-picker {
  position: absolute !important;
  left: 62px !important;
  top: 68px !important;
  z-index: 4 !important;
  width: 82px !important;
  height: 82px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-avatar-picker .user-avatar-lg,
#dashboardView #homeAvatar.user-avatar-lg {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
  min-height: 82px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(157, 196, 244, .9) !important;
  background-color: rgba(235, 244, 255, .95) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: #67809d !important;
  font-size: 30px !important;
  line-height: 78px !important;
  text-align: center !important;
  box-shadow: none !important;
}

#dashboardView #homeAvatar.has-image {
  color: transparent !important;
  font-size: 0 !important;
}

#dashboardView .home-hero-copy {
  position: absolute !important;
  left: 180px !important;
  top: 68px !important;
  right: 420px !important;
  z-index: 4 !important;
  display: block !important;
  min-width: 0 !important;
  max-width: 580px !important;
  transform: none !important;
  text-align: left !important;
}

#dashboardView .home-hero-copy .eyebrow {
  display: none !important;
}

#dashboardView .home-hero-copy h1,
#dashboardView #welcomeGreeting {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #12223a !important;
  font-size: 30px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-hero-copy p,
#dashboardView .home-hero-copy p:not(.eyebrow),
#dashboardView #welcomeSubtitle {
  display: block !important;
  max-width: 520px !important;
  margin: 12px 0 0 !important;
  color: #425a78 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-hero-quote {
  display: none !important;
}

#dashboardView .home-weather-meta {
  position: absolute !important;
  left: 56px !important;
  right: 430px !important;
  top: auto !important;
  bottom: 24px !important;
  z-index: 4 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  width: auto !important;
  height: 26px !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
}

#dashboardView .home-weather-meta > span,
#dashboardView .home-weather-meta > #welcomeDate,
#dashboardView .home-weather-meta > #welcomeWeekday,
#dashboardView .home-weather-meta #welcomeWeather {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  height: 24px !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #536984 !important;
  font-size: 13px !important;
  line-height: 24px !important;
  white-space: nowrap !important;
}

#dashboardView .home-weather-meta > span + span::before {
  display: none !important;
  content: none !important;
}

#dashboardView .home-weather-now {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  gap: 6px !important;
  max-width: 260px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-weather-now #welcomeWeather {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-weather-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 18px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-weather-meta > #welcomeAirQuality.home-air-quality {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 76px !important;
  height: 22px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(79, 156, 246, .35) !important;
  border-radius: 999px !important;
  background: rgba(231, 245, 255, .86) !important;
  color: #1f76e8 !important;
  box-sizing: border-box !important;
  font-size: 12px !important;
  line-height: 20px !important;
  white-space: nowrap !important;
}

#dashboardView .home-quick-panel {
  height: 220px !important;
  min-height: 220px !important;
  padding: 22px !important;
  background: url("/assets/home-quick-panel-v115.png") center / 100% 100% no-repeat !important;
}

#dashboardView .quick-entry-grid.compact {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

#dashboardView .quick-entry {
  min-height: 112px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#dashboardView .quick-entry .entry-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  background: rgba(238, 246, 255, .92) !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  height: 360px !important;
  min-height: 360px !important;
  padding: 22px !important;
  background: rgba(255, 255, 255, .97) !important;
}

#dashboardView .home-panel-head,
#dashboardView .home-panel-head.compact,
#dashboardView .home-gantt-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#dashboardView .home-panel-head h3,
#dashboardView .home-gantt-title h3,
#dashboardView .home-mini-panel h3 {
  margin: 0 !important;
  color: #14243c !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

#dashboardView .home-panel-head .text-link,
#dashboardView .home-panel-head .text-link.disabled {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #2f73ed !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

#dashboardView .home-todo-list {
  display: grid !important;
  grid-template-rows: repeat(3, 50px) !important;
  gap: 10px !important;
  height: auto !important;
  margin: 15px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  align-items: center !important;
  min-height: 50px !important;
  height: 50px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(222, 231, 242, .72) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-todo-item + .home-todo-item {
  border-top: 0 !important;
}

#dashboardView .home-todo-item strong {
  color: #22324a !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-todo-item small {
  margin-top: 3px !important;
  color: #71839b !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-todo-item em {
  justify-self: end !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2f73ed !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

#dashboardView .home-decision-gantt {
  height: calc(100% - 39px) !important;
  margin-top: 15px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-head,
#dashboardView .home-gantt-row {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  column-gap: 0 !important;
  width: 100% !important;
}

#dashboardView .home-gantt-head {
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(214, 226, 242, .9) !important;
  background: transparent !important;
}

#dashboardView .home-gantt-head > div:first-child {
  align-self: end !important;
  color: #30425d !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-days {
  display: grid !important;
  grid-template-columns: repeat(var(--home-gantt-day-count, 10), minmax(0, 1fr)) !important;
  height: 44px !important;
  align-self: end !important;
  padding: 0 !important;
  background: transparent !important;
}

#dashboardView .home-gantt-days span {
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 3px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #7f91ab !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

#dashboardView .home-gantt-days span.today,
#dashboardView .home-gantt-days span.today b,
#dashboardView .home-gantt-days span.today small {
  color: #f02d5a !important;
}

#dashboardView .home-gantt-days span.today::before,
#dashboardView .home-gantt-days span.today::after {
  display: none !important;
}

#dashboardView .home-gantt-body {
  position: relative !important;
  display: grid !important;
  grid-auto-rows: 36px !important;
  gap: 8px !important;
  height: calc(100% - 52px) !important;
  padding: 14px 0 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

#dashboardView .home-gantt-overlay {
  position: absolute !important;
  left: 260px !important;
  right: 0 !important;
  top: 14px !important;
  bottom: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#dashboardView .home-gantt-overlay i {
  position: absolute !important;
  left: var(--home-gantt-today-left, 35%) !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  transform: translateX(-.5px) !important;
  background: rgba(240, 45, 90, .78) !important;
}

#dashboardView .home-gantt-row {
  position: relative !important;
  z-index: 1 !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dashboardView .home-gantt-task {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 36px !important;
  padding: 0 20px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#dashboardView .home-gantt-task strong,
#dashboardView .home-gantt-task span {
  display: block !important;
  max-width: 240px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-gantt-task strong {
  color: #20324b !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-task span {
  margin-top: 2px !important;
  color: #71839b !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
}

#dashboardView .home-gantt-track {
  position: relative !important;
  height: 36px !important;
  min-height: 36px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-track::before,
#dashboardView .home-today-line {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

#dashboardView .home-gantt-track em {
  position: absolute !important;
  top: 50% !important;
  height: 14px !important;
  min-width: 34px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(59, 103, 209, .12) !important;
}

#dashboardView .home-bottom-grid {
  align-items: stretch !important;
}

#dashboardView .home-company-notice {
  height: 230px !important;
  min-height: 230px !important;
  padding: 22px !important;
  background: url("/assets/home-notice-panel-v115.png") center / 100% 100% no-repeat !important;
}

#dashboardView .home-company-notice .home-panel-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  align-items: center !important;
  padding: 0 !important;
}

#dashboardView .home-notice-layout {
  height: calc(100% - 39px) !important;
  margin: 15px 0 0 !important;
  padding: 0 !important;
}

#dashboardView .home-company-notice-list {
  display: grid !important;
  gap: 10px !important;
  max-width: none !important;
  padding: 0 !important;
}

#dashboardView .home-company-notice-item {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) 72px !important;
  align-items: center !important;
  min-height: 24px !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

#dashboardView .home-company-notice-item i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
  background: rgba(235, 244, 255, .95) !important;
  color: #2f73ed !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

#dashboardView .home-company-notice-item span {
  min-width: 0 !important;
  color: #31445f !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-company-notice-item time {
  justify-self: end !important;
  min-width: 72px !important;
  color: #8292a9 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-align: right !important;
}

/* v117: notice center modal and rebuilt enterprise promotion manager. */
#appView .command-notice {
  cursor: pointer !important;
}

#appView .command-notice:focus-visible {
  outline: 2px solid rgba(47, 124, 246, .36) !important;
  outline-offset: 2px !important;
}

#dashboardView .home-company-notice-item {
  cursor: pointer !important;
  text-align: left !important;
}

#dashboardView .home-company-notice-item:hover span {
  color: #2563eb !important;
}

.home-notice-dialog {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 28px !important;
}

.home-notice-dialog.hidden {
  display: none !important;
}

.home-notice-dialog-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(209, 224, 242, .32) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
}

.home-notice-dialog-card {
  position: relative !important;
  width: min(560px, calc(100vw - 56px)) !important;
  max-height: min(520px, calc(100vh - 56px)) !important;
  padding: 26px 28px 28px !important;
  border: 1px solid rgba(181, 209, 239, .82) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .74) !important;
  box-shadow: 0 24px 70px rgba(45, 88, 135, .18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  overflow: auto !important;
}

.home-notice-dialog-card header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.home-notice-dialog-card h3 {
  margin: 0 0 8px !important;
  color: #13243c !important;
  font-size: 22px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

.home-notice-dialog-card p {
  margin: 0 !important;
  color: #718198 !important;
  font-size: 13px !important;
}

.home-notice-dialog-card header button,
.enterprise-redesign button,
.enterprise-redesign .secondary,
.enterprise-redesign .primary {
  min-height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(130, 166, 209, .42) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #2d5d9f !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: 0 8px 18px rgba(59, 117, 184, .08) !important;
}

.home-notice-dialog-card header button:hover,
.enterprise-redesign button:hover {
  border-color: rgba(68, 129, 209, .52) !important;
  background: rgba(238, 246, 255, .86) !important;
}

.home-notice-dialog-content {
  color: #263952 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  white-space: pre-wrap !important;
}

.enterprise-redesign {
  display: grid !important;
  gap: 16px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.enterprise-redesign .enterprise-hero {
  min-height: 92px !important;
  padding: 22px 28px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(245, 250, 255, .96), rgba(255, 255, 255, .86)) !important;
}

.enterprise-redesign .enterprise-hero h3,
.enterprise-redesign .enterprise-editor-card h3,
.enterprise-redesign .enterprise-history-card h3,
.enterprise-redesign .enterprise-culture-card h3 {
  margin: 0 !important;
  color: #14243b !important;
  font-size: 20px !important;
  font-weight: 650 !important;
}

.enterprise-redesign .enterprise-hero p,
.enterprise-redesign .enterprise-history-head p {
  margin: 8px 0 0 !important;
  color: #718198 !important;
  font-size: 13px !important;
}

.enterprise-editor-grid,
.enterprise-history-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 16px !important;
}

.enterprise-editor-card,
.enterprise-history-card,
.enterprise-culture-redesign {
  padding: 18px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid rgba(197, 216, 239, .82) !important;
  box-shadow: 0 14px 36px rgba(46, 91, 145, .08) !important;
}

.enterprise-form-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px !important;
}

.enterprise-redesign label {
  display: grid !important;
  gap: 6px !important;
  margin-top: 12px !important;
  color: #52647b !important;
  font-size: 13px !important;
}

.enterprise-redesign input,
.enterprise-redesign textarea {
  width: 100% !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(188, 207, 230, .88) !important;
  border-radius: 10px !important;
  background: rgba(250, 253, 255, .92) !important;
  color: #15243b !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
}

.enterprise-redesign textarea {
  min-height: 64px !important;
  resize: vertical !important;
}

.enterprise-switch,
.enterprise-switch.inline {
  display: inline-flex !important;
  grid-auto-flow: column !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 8px !important;
}

.enterprise-switch input,
.enterprise-history-check input {
  width: 16px !important;
  min-height: 16px !important;
  padding: 0 !important;
}

.enterprise-history-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.enterprise-history-head span {
  color: #718198 !important;
  font-size: 13px !important;
}

.enterprise-history-list {
  display: grid !important;
  gap: 10px !important;
  min-height: 300px !important;
}

.enterprise-history-item {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 58px !important;
  padding: 10px !important;
  border: 1px solid rgba(215, 227, 241, .88) !important;
  border-radius: 12px !important;
  background: rgba(248, 251, 255, .78) !important;
}

.enterprise-history-item:has(.enterprise-popup-time) {
  grid-template-columns: 74px minmax(0, 1fr) 178px auto !important;
}

.enterprise-history-check {
  margin: 0 !important;
}

.enterprise-history-main {
  display: grid !important;
  justify-items: start !important;
  gap: 2px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  text-align: left !important;
}

.enterprise-history-main strong,
.enterprise-history-main em {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.enterprise-history-main strong {
  color: #22344d !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.enterprise-history-main small,
.enterprise-history-main em {
  color: #7a8aa0 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.enterprise-popup-time {
  min-height: 34px !important;
}

.enterprise-pager {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.enterprise-pager button:disabled {
  opacity: .45 !important;
  cursor: default !important;
}

.enterprise-culture-redesign .enterprise-culture-preview {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

.enterprise-culture-redesign .enterprise-culture-preview article {
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(211, 225, 241, .9) !important;
  border-radius: 12px !important;
  background: rgba(249, 252, 255, .84) !important;
}

.enterprise-culture-redesign .enterprise-culture-preview img {
  width: 100% !important;
  aspect-ratio: 4.68 / 1 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

.enterprise-culture-redesign .enterprise-culture-preview span,
.enterprise-culture-redesign .enterprise-culture-preview b {
  color: #52647b !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}


/* v121 homepage polish: requested spacing, todo scroll, gantt fit, weather alignment, no pet. */
#dashboardView.workspace-home {
  --home-gap: 18px !important;
}

#dashboardView .home-workbench-grid {
  margin-top: 18px !important;
}

#dashboardView .home-bottom-grid {
  margin-top: 18px !important;
}

#aiFloating,
.ai-floating,
.ai-pet-pose-toggle,
.ai-pet-pose-menu {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#dashboardView .home-promo-banner,
#dashboardView .home-company-notice {
  height: 258px !important;
  min-height: 258px !important;
}

#dashboardView .home-company-notice {
  padding: 24px 24px 18px !important;
}

#dashboardView .home-notice-layout {
  height: calc(100% - 42px) !important;
  margin-top: 14px !important;
  overflow: hidden !important;
}

#dashboardView .home-company-notice-list {
  gap: 9px !important;
}

#dashboardView .home-company-notice-item {
  min-height: 26px !important;
}

#dashboardView .home-todo-panel,
#dashboardView .home-gantt-panel {
  height: 376px !important;
  min-height: 376px !important;
}

#dashboardView .home-todo-list {
  position: relative !important;
  display: block !important;
  height: 236px !important;
  margin: 16px 0 14px !important;
  padding: 0 0 10px !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-scroll-track {
  display: grid !important;
  grid-auto-rows: 50px !important;
  gap: 8px !important;
}

#dashboardView .home-todo-list.is-scrolling .home-todo-scroll-track {
  animation: homeTodoScrollV121 18s linear infinite !important;
}

#dashboardView .home-todo-list.is-scrolling:hover .home-todo-scroll-track {
  animation-play-state: paused !important;
}

@keyframes homeTodoScrollV121 {
  0%, 14% { transform: translateY(0); }
  100% { transform: translateY(calc(-50% + 116px)); }
}

#dashboardView .home-todo-item {
  min-height: 50px !important;
  height: 50px !important;
  grid-template-columns: minmax(0, 1fr) 58px !important;
}

#dashboardView .home-decision-gantt {
  height: calc(100% - 36px) !important;
  margin-top: 12px !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-head,
#dashboardView .home-gantt-row {
  grid-template-columns: 300px minmax(0, 1fr) !important;
}

#dashboardView .home-gantt-head {
  height: 42px !important;
  min-height: 42px !important;
  padding-bottom: 6px !important;
}

#dashboardView .home-gantt-days {
  height: 36px !important;
}

#dashboardView .home-gantt-days span {
  height: 36px !important;
}

#dashboardView .home-gantt-body {
  grid-auto-rows: 42px !important;
  gap: 7px !important;
  height: calc(100% - 42px) !important;
  padding-top: 10px !important;
  padding-bottom: 8px !important;
  background-image: linear-gradient(to right, rgba(188, 206, 228, .42) 1px, transparent 1px) !important;
  background-size: calc((100% - 300px) / var(--home-gantt-day-count, 10)) 100% !important;
  background-position: 300px 0 !important;
  background-repeat: repeat-x !important;
}

#dashboardView .home-gantt-overlay {
  left: 300px !important;
  top: 8px !important;
  bottom: 8px !important;
}

#dashboardView .home-gantt-row,
#dashboardView .home-gantt-task,
#dashboardView .home-gantt-track {
  height: 42px !important;
  min-height: 42px !important;
}

#dashboardView .home-gantt-task {
  padding-right: 22px !important;
}

#dashboardView .home-gantt-task strong,
#dashboardView .home-gantt-task span {
  max-width: 278px !important;
}

#dashboardView .home-gantt-track {
  overflow: visible !important;
}

#dashboardView .home-gantt-track em {
  height: 15px !important;
  min-width: 42px !important;
  box-shadow: 0 7px 16px rgba(59, 103, 209, .14) !important;
}

#dashboardView .home-weather-meta {
  align-items: center !important;
  overflow: visible !important;
}

#dashboardView .home-weather-now {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  overflow: visible !important;
}

#dashboardView .home-weather-icon {
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#dashboardView .home-weather-icon::before,
#dashboardView .home-weather-icon::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
}

#dashboardView .home-weather-icon::before {
  left: 6px !important;
  top: 0 !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: #ffd56a !important;
  box-shadow: 0 0 0 4px rgba(255, 213, 106, .16) !important;
}

#dashboardView .home-weather-icon::after {
  left: 1px !important;
  bottom: 0 !important;
  width: 21px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #eef7ff, #cce5ff) !important;
  box-shadow: 5px -5px 0 -1px #eaf5ff, 11px -4px 0 -2px #d7ebff !important;
}

#dashboardView .home-weather-icon[data-weather="sun"]::after {
  display: none !important;
}

#dashboardView .home-weather-meta > #welcomeAirQuality.home-air-quality {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 86px !important;
  height: 24px !important;
  padding: 0 12px !important;
  line-height: 22px !important;
  text-align: center !important;
}
/* v122 homepage: fixed chrome, paged todos, rebuilt decision gantt. */
body:has(#dashboardView.workspace-home:not(.hidden)) {
  overflow-x: auto !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell {
  display: grid !important;
  grid-template-columns: 220px 1640px !important;
  width: 1860px !important;
  min-width: 1860px !important;
  max-width: none !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed {
  grid-template-columns: 76px 1640px !important;
  width: 1716px !important;
  min-width: 1716px !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView .sidebar {
  width: 220px !important;
  min-width: 220px !important;
  flex: 0 0 220px !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView.sidebar-collapsed .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed .sidebar {
  width: 76px !important;
  min-width: 76px !important;
  flex-basis: 76px !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView .content {
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: none !important;
  overflow: visible !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar.app-command-bar {
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: 1640px !important;
  flex: 0 0 1640px !important;
}

#dashboardView .home-top-grid {
  margin-bottom: 26px !important;
}

#dashboardView .home-workbench-grid {
  margin-top: 26px !important;
}

#dashboardView .home-top-grid + .home-workbench-grid {
  margin-top: 26px !important;
}

#aiFloatingAssistant,
#aiFloating,
.ai-floating,
.ai-pet-pose-toggle,
.ai-pet-pose-menu {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#dashboardView .home-todo-list {
  display: block !important;
  height: 270px !important;
  margin: 16px 0 0 !important;
  padding: 0 0 14px !important;
  overflow: hidden !important;
}

#dashboardView .home-todo-page-list {
  display: grid !important;
  grid-template-rows: repeat(4, 50px) !important;
  gap: 8px !important;
  min-height: 224px !important;
}

#dashboardView .home-todo-scroll-track {
  animation: none !important;
  transform: none !important;
}

#dashboardView .home-todo-list.is-scrolling .home-todo-scroll-track {
  animation: none !important;
}

#dashboardView .home-todo-pager {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  height: 28px !important;
  margin-top: 10px !important;
}

#dashboardView .home-todo-pager button {
  min-width: 48px !important;
  height: 24px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(143, 183, 236, .55) !important;
  border-radius: 999px !important;
  background: rgba(247, 251, 255, .9) !important;
  color: #2f73ed !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

#dashboardView .home-todo-pager button:disabled {
  color: #9aa8ba !important;
  opacity: .55 !important;
}

#dashboardView .home-todo-pager span {
  color: #6b7d95 !important;
  font-size: 12px !important;
}

#dashboardView .home-decision-gantt {
  height: calc(100% - 34px) !important;
  margin-top: 10px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-v2 {
  --gantt-task-col: 310px;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 44px minmax(0, 1fr) !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-v2-head,
#dashboardView .home-gantt-v2-row {
  display: grid !important;
  grid-template-columns: var(--gantt-task-col) minmax(0, 1fr) !important;
  column-gap: 0 !important;
}

#dashboardView .home-gantt-v2-head {
  align-items: end !important;
  border-bottom: 1px solid rgba(198, 216, 238, .9) !important;
}

#dashboardView .home-gantt-v2-head > div:first-child {
  padding-bottom: 9px !important;
  color: #2d3f59 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#dashboardView .home-gantt-v2-days {
  display: grid !important;
  grid-template-columns: repeat(var(--home-gantt-day-count, 10), minmax(0, 1fr)) !important;
  height: 40px !important;
}

#dashboardView .home-gantt-v2-days span {
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 2px !important;
  color: #7c8fa9 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-v2-days span.today,
#dashboardView .home-gantt-v2-days span.today b,
#dashboardView .home-gantt-v2-days span.today small {
  color: #f02d5a !important;
}

#dashboardView .home-gantt-v2-body {
  position: relative !important;
  display: grid !important;
  grid-template-rows: repeat(5, minmax(40px, 1fr)) !important;
  gap: 7px !important;
  padding-top: 10px !important;
  padding-bottom: 8px !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-v2-row {
  position: relative !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

#dashboardView .home-gantt-v2-task {
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding-right: 22px !important;
}

#dashboardView .home-gantt-v2-task b,
#dashboardView .home-gantt-v2-task small {
  display: block !important;
  min-width: 0 !important;
  max-width: 288px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-gantt-v2-task b {
  color: #1e304a !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

#dashboardView .home-gantt-v2-task small {
  color: #6f829c !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-v2-line {
  position: relative !important;
  min-width: 0 !important;
  overflow: visible !important;
  background-image: linear-gradient(to right, rgba(190, 209, 232, .72) 1px, transparent 1px) !important;
  background-size: calc(100% / var(--home-gantt-day-count, 10)) 100% !important;
}

#dashboardView .home-gantt-v2-line .today-line {
  position: absolute !important;
  left: var(--home-gantt-today-left, 35%) !important;
  top: -9px !important;
  bottom: -9px !important;
  width: 1px !important;
  transform: translateX(-.5px) !important;
  background: rgba(240, 45, 90, .82) !important;
}

#dashboardView .home-gantt-v2-bar {
  position: absolute !important;
  left: var(--bar-left, 0%) !important;
  top: 50% !important;
  width: var(--bar-width, 10%) !important;
  height: 16px !important;
  min-width: 42px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(43, 99, 212, .15) !important;
}

#dashboardView .home-gantt-v2-bar.active { background: linear-gradient(90deg, #3f72ff, #4e87ff) !important; }
#dashboardView .home-gantt-v2-bar.done { background: linear-gradient(90deg, #35b56e, #57c982) !important; }
#dashboardView .home-gantt-v2-bar.paused { background: linear-gradient(90deg, #a4afbe, #c1cad6) !important; }
#dashboardView .home-gantt-v2-bar.late { background: linear-gradient(90deg, #ff982f, #ffbd55) !important; }
/* v123 emergency: restore normal page flow after v122 grid lock. */
#appView.app-shell,
#appView.app-shell.sidebar-collapsed,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed {
  display: flex !important;
  align-items: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

#appView .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .sidebar {
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
}

#appView.app-shell.sidebar-collapsed .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed .sidebar {
  flex: 0 0 76px !important;
  width: 76px !important;
  min-width: 76px !important;
}

#appView .content,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .content {
  order: 0 !important;
  flex: 0 0 1640px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#appView .topbar,
#appView .topbar.app-command-bar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar.app-command-bar {
  order: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  flex: 0 0 75px !important;
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: 1640px !important;
  height: 75px !important;
  min-height: 75px !important;
  margin: 0 !important;
  transform: none !important;
}

#dashboardView.workspace-home,
#appView .content > #dashboardView.workspace-home:not(.hidden),
body:has(#dashboardView.workspace-home:not(.hidden)) #dashboardView.workspace-home {
  order: 1 !important;
  display: grid !important;
  flex: 0 0 auto !important;
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: 1640px !important;
  height: auto !important;
  min-height: 854px !important;
  margin: 0 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  transform: none !important;
}

#dashboardView.workspace-home.hidden,
#appView .content > #dashboardView.workspace-home.hidden {
  display: none !important;
}

#dashboardView .home-top-grid {
  margin-bottom: 0 !important;
}

#dashboardView .home-workbench-grid {
  margin-top: 26px !important;
}

#dashboardView .home-bottom-grid {
  margin-top: 18px !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) {
  overflow-x: auto !important;
}
/* v124 homepage: keep sidebar fixed; scroll only the right workspace. */
body:has(#dashboardView.workspace-home:not(.hidden)) {
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)),
#appView.app-shell.sidebar-collapsed:has(#dashboardView.workspace-home:not(.hidden)) {
  display: flex !important;
  align-items: stretch !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView .sidebar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .sidebar {
  position: sticky !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 100 !important;
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
  height: 100vh !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed .sidebar,
#appView.app-shell.sidebar-collapsed:has(#dashboardView.workspace-home:not(.hidden)) .sidebar {
  flex: 0 0 76px !important;
  width: 76px !important;
  min-width: 76px !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView .content,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .content {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar.app-command-bar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .topbar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .topbar.app-command-bar {
  order: 0 !important;
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 90 !important;
  flex: 0 0 75px !important;
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: 1640px !important;
  height: 75px !important;
  min-height: 75px !important;
  margin: 0 !important;
}

body:has(#dashboardView.workspace-home:not(.hidden)) #dashboardView.workspace-home,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) #dashboardView.workspace-home {
  order: 1 !important;
  flex: 0 0 auto !important;
  width: 1640px !important;
  min-width: 1640px !important;
  max-width: 1640px !important;
  height: auto !important;
  min-height: 854px !important;
  margin: 0 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

#dashboardView .home-gantt-v2 {
  --gantt-task-col: 340px !important;
}

#dashboardView .home-gantt-v2-task b,
#dashboardView .home-gantt-v2-task small {
  max-width: 318px !important;
}
/* v125 decision gantt rebuild: clean data mapping and full 10-day track. */
#dashboardView .home-decision-gantt {
  height: calc(100% - 34px) !important;
  margin-top: 10px !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-v3 {
  --gantt-task-col: 360px;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 42px minmax(0, 1fr) !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-v3-head,
#dashboardView .home-gantt-v3-row {
  display: grid !important;
  grid-template-columns: var(--gantt-task-col) minmax(0, 1fr) !important;
}

#dashboardView .home-gantt-v3-head {
  align-items: end !important;
  border-bottom: 1px solid rgba(196, 214, 238, .9) !important;
}

#dashboardView .home-gantt-v3-head > div:first-child {
  padding-bottom: 8px !important;
  color: #263a56 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#dashboardView .home-gantt-v3-days {
  display: grid !important;
  grid-template-columns: repeat(var(--home-gantt-day-count, 10), minmax(0, 1fr)) !important;
  height: 38px !important;
}

#dashboardView .home-gantt-v3-days span {
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 2px !important;
  color: #7c8fa9 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-v3-days span.today,
#dashboardView .home-gantt-v3-days span.today b,
#dashboardView .home-gantt-v3-days span.today small {
  color: #f02d5a !important;
}

#dashboardView .home-gantt-v3-body {
  display: grid !important;
  grid-template-rows: repeat(5, minmax(42px, 1fr)) !important;
  gap: 6px !important;
  padding: 9px 0 8px !important;
  overflow: hidden !important;
}

#dashboardView .home-gantt-v3-row {
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

#dashboardView .home-gantt-v3-task {
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding-right: 24px !important;
}

#dashboardView .home-gantt-v3-task b,
#dashboardView .home-gantt-v3-task small {
  display: block !important;
  max-width: 334px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

#dashboardView .home-gantt-v3-task b {
  color: #1c304d !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

#dashboardView .home-gantt-v3-task small {
  color: #6f829c !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

#dashboardView .home-gantt-v3-track {
  position: relative !important;
  min-width: 0 !important;
  overflow: visible !important;
  background-image: linear-gradient(to right, rgba(188, 207, 232, .75) 1px, transparent 1px) !important;
  background-size: calc(100% / var(--home-gantt-day-count, 10)) 100% !important;
}

#dashboardView .home-gantt-v3-track .today-line {
  position: absolute !important;
  left: var(--home-gantt-today-left, 35%) !important;
  top: -8px !important;
  bottom: -8px !important;
  width: 1px !important;
  transform: translateX(-.5px) !important;
  background: rgba(240, 45, 90, .86) !important;
}

#dashboardView .home-gantt-v3-bar {
  position: absolute !important;
  left: var(--bar-left, 0%) !important;
  top: 50% !important;
  width: var(--bar-width, 10%) !important;
  height: 16px !important;
  min-width: 44px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(43, 99, 212, .15) !important;
}

#dashboardView .home-gantt-v3-row.is-after .home-gantt-v3-bar::after {
  content: "" !important;
  position: absolute !important;
  right: -6px !important;
  top: 50% !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 7px solid currentColor !important;
  transform: translateY(-50%) !important;
}

#dashboardView .home-gantt-v3-bar.active { color: #3f72ff !important; background: linear-gradient(90deg, #3f72ff, #4e87ff) !important; }
#dashboardView .home-gantt-v3-bar.done { color: #35b56e !important; background: linear-gradient(90deg, #35b56e, #57c982) !important; }
#dashboardView .home-gantt-v3-bar.paused { color: #a4afbe !important; background: linear-gradient(90deg, #a4afbe, #c1cad6) !important; }
#dashboardView .home-gantt-v3-bar.late { color: #ff982f !important; background: linear-gradient(90deg, #ff982f, #ffbd55) !important; }

/* v127 layout recovery: keep homepage spacing, stop fixed-width rules leaking into work pages. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

#appView.app-shell,
#appView.app-shell.sidebar-collapsed {
  display: flex !important;
  width: 100vw !important;
  min-width: 0 !important;
  max-width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
}

#appView .sidebar {
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
  height: 100vh !important;
}

#appView.app-shell.sidebar-collapsed .sidebar {
  flex: 0 0 76px !important;
  width: 76px !important;
  min-width: 76px !important;
}

#appView .content,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .content,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .content {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

#appView .topbar,
#appView .topbar.app-command-bar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .topbar.app-command-bar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .topbar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .topbar.app-command-bar {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 75px !important;
  height: 75px !important;
  min-height: 75px !important;
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
}

#dashboardView.workspace-home,
#appView .content > #dashboardView.workspace-home:not(.hidden),
body:has(#dashboardView.workspace-home:not(.hidden)) #dashboardView.workspace-home,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) #dashboardView.workspace-home {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 24px !important;
  display: grid !important;
  row-gap: 0 !important;
  column-gap: 16px !important;
  overflow: visible !important;
}

#dashboardView .home-top-grid {
  margin-bottom: 0 !important;
}

#dashboardView .home-workbench-grid,
#dashboardView .home-top-grid + .home-workbench-grid {
  margin-top: 26px !important;
}

#dashboardView .home-bottom-grid {
  margin-top: 18px !important;
}

#dashboardView.workspace-home.hidden,
#appView .content > #dashboardView.workspace-home.hidden {
  display: none !important;
}

#appView .content::-webkit-scrollbar,
#appView .sidebar-menu::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar,
.data-table-wrap::-webkit-scrollbar,
.modal-body::-webkit-scrollbar {
  width: 16px !important;
  height: 16px !important;
}

#appView .content::-webkit-scrollbar-track,
#appView .sidebar-menu::-webkit-scrollbar-track,
.table-scroll::-webkit-scrollbar-track,
.data-table-wrap::-webkit-scrollbar-track,
.modal-body::-webkit-scrollbar-track {
  background: #eef5ff !important;
  border-radius: 10px !important;
}

#appView .content::-webkit-scrollbar-thumb,
#appView .sidebar-menu::-webkit-scrollbar-thumb,
.table-scroll::-webkit-scrollbar-thumb,
.data-table-wrap::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb {
  background: #b7c5d8 !important;
  border: 4px solid #eef5ff !important;
  border-radius: 10px !important;
}

#appView .content::-webkit-scrollbar-thumb:hover,
#appView .sidebar-menu::-webkit-scrollbar-thumb:hover,
.table-scroll::-webkit-scrollbar-thumb:hover,
.data-table-wrap::-webkit-scrollbar-thumb:hover,
.modal-body::-webkit-scrollbar-thumb:hover {
  background: #8fa3bd !important;
}

#appView .content::-webkit-scrollbar-button:vertical:start:decrement,
#appView .sidebar-menu::-webkit-scrollbar-button:vertical:start:decrement,
.table-scroll::-webkit-scrollbar-button:vertical:start:decrement,
.data-table-wrap::-webkit-scrollbar-button:vertical:start:decrement,
.modal-body::-webkit-scrollbar-button:vertical:start:decrement {
  display: block !important;
  height: 16px !important;
  background: #eef5ff linear-gradient(135deg, transparent 45%, #7f93ad 46% 54%, transparent 55%) center 6px / 8px 8px no-repeat !important;
}

#appView .content::-webkit-scrollbar-button:vertical:end:increment,
#appView .sidebar-menu::-webkit-scrollbar-button:vertical:end:increment,
.table-scroll::-webkit-scrollbar-button:vertical:end:increment,
.data-table-wrap::-webkit-scrollbar-button:vertical:end:increment,
.modal-body::-webkit-scrollbar-button:vertical:end:increment {
  display: block !important;
  height: 16px !important;
  background: #eef5ff linear-gradient(315deg, transparent 45%, #7f93ad 46% 54%, transparent 55%) center 2px / 8px 8px no-repeat !important;
}


/* v130 layout recovery: hide the outer workspace scrollbar and restore page gutters. */
#appView .content,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .content,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .content {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: auto !important;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}

#appView .content::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

#appView .content > .view:not(.workspace-home):not(.hidden) {
  align-self: stretch !important;
  width: auto !important;
  max-width: none !important;
  margin: 18px 18px 24px 24px !important;
  box-sizing: border-box !important;
}

#appView .content > #dashboardView.workspace-home:not(.hidden) {
  margin: 0 !important;
  padding: 24px !important;
}

#dashboardView .home-workbench-grid,
#dashboardView .home-top-grid + .home-workbench-grid {
  margin-top: 26px !important;
}

#appView .table-scroll,
#appView .data-table-wrap,
#appView .table-wrap,
#appView .roster-table-wrap {
  scrollbar-width: auto !important;
  -ms-overflow-style: auto !important;
}


/* home2-v200: independent office overview rebuild. */
#appView .content > #dashboardView.home2-dashboard:not(.hidden) {
  display: grid !important;
  grid-template-rows: 220px 360px 250px !important;
  gap: 26px !important;
  width: 100% !important;
  min-width: 1280px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.home2-row {
  display: grid !important;
  gap: 26px !important;
  min-width: 0 !important;
}

.home2-row-top {
  grid-template-columns: minmax(0, 1.3fr) minmax(420px, .95fr) !important;
}

.home2-row-work {
  grid-template-columns: 420px minmax(0, 1fr) !important;
}

.home2-row-bottom {
  grid-template-columns: minmax(0, 1fr) 500px !important;
}

.home2-card,
.home2-hero,
.home2-culture {
  min-width: 0 !important;
  border: 1px solid rgba(130, 184, 255, .52) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 14px 32px rgba(54, 112, 180, .10) !important;
  backdrop-filter: blur(14px) !important;
  overflow: hidden !important;
}

.home2-hero {
  display: grid !important;
  grid-template-columns: 126px minmax(0, 1fr) !important;
  align-items: center !important;
  padding: 34px 46px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,.6)),
    url("/assets/home-hero-card-bg-v98.png") right center / auto 100% no-repeat,
    linear-gradient(135deg, #f8fbff, #eaf5ff) !important;
}

.home2-avatar {
  width: 88px !important;
  height: 88px !important;
}

.home2-greeting h1 {
  margin: 0 0 10px !important;
  color: #10213b !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
}

.home2-greeting p {
  margin: 0 0 28px !important;
  color: #405675 !important;
  font-size: 14px !important;
}

.home2-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 18px !important;
  color: #506782 !important;
  font-size: 13px !important;
}

.home2-meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
}

#home2Air {
  justify-content: center !important;
  padding: 0 12px !important;
  border: 1px solid #9fd0ff !important;
  border-radius: 999px !important;
  color: #1677ff !important;
  background: rgba(232, 246, 255, .82) !important;
}

.home2-card {
  padding: 24px !important;
}

.home2-card header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 34px !important;
  margin-bottom: 16px !important;
}

.home2-card h2 {
  margin: 0 !important;
  color: #10213b !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
}

.home2-card header button {
  border: 0 !important;
  background: transparent !important;
  color: #1677ff !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.home2-quick {
  background:
    linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.66)),
    url("/assets/home-quick-panel-v115.png") right center / auto 100% no-repeat,
    linear-gradient(135deg, #f8fbff, #edf7ff) !important;
}

.home2-quick-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  height: 126px !important;
  align-items: center !important;
}

.home2-quick-grid button {
  display: grid !important;
  justify-items: center !important;
  gap: 14px !important;
  border: 0 !important;
  background: transparent !important;
  color: #183050 !important;
  cursor: pointer !important;
  font-weight: 700 !important;
}

.home2-quick-grid i {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  color: #1677ff !important;
  background: #eef7ff !important;
  font-style: normal !important;
}

.home2-list {
  display: grid !important;
  gap: 12px !important;
}

.home2-list-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 56px !important;
  padding: 10px 12px !important;
  border: 1px solid #e3edf8 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.72) !important;
  color: #183050 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.home2-list-item b,
.home2-list-item small {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.home2-list-item small {
  margin-top: 4px !important;
  color: #6a7f99 !important;
  font-size: 12px !important;
}

.home2-list-item em {
  flex: 0 0 auto !important;
  color: #1677ff !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.home2-empty {
  display: grid !important;
  place-items: center !important;
  min-height: 160px !important;
  color: #5d718b !important;
}

.home2-gantt-body {
  height: 286px !important;
  min-height: 0 !important;
}

.home2-gantt-head {
  display: grid !important;
  grid-template-columns: 310px minmax(0, 1fr) !important;
  align-items: end !important;
  height: 50px !important;
  border-bottom: 1px solid #d5e5f6 !important;
  color: #183050 !important;
  font-weight: 800 !important;
}

.home2-gantt-head > div {
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

.home2-gantt-head span {
  text-align: center !important;
}

.home2-gantt-head span small {
  display: block !important;
  color: #7388a3 !important;
  font-size: 12px !important;
}

.home2-gantt-head span.today,
.home2-gantt-head span.today small {
  color: #ee3f68 !important;
}

.home2-gantt-rows {
  display: grid !important;
  gap: 10px !important;
  padding-top: 16px !important;
}

.home2-gantt-row {
  display: grid !important;
  grid-template-columns: 310px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 36px !important;
  border: 0 !important;
  background: transparent !important;
  color: #183050 !important;
  cursor: pointer !important;
}

.home2-gantt-name b,
.home2-gantt-name small {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.home2-gantt-name small {
  color: #6a7f99 !important;
  font-size: 12px !important;
}

.home2-gantt-track {
  position: relative !important;
  height: 24px !important;
  background-image: repeating-linear-gradient(90deg, rgba(155, 183, 214, .32) 0 1px, transparent 1px 10%) !important;
}

.home2-gantt-track .bar {
  position: absolute !important;
  left: var(--left) !important;
  width: var(--width) !important;
  top: 6px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: #3f72ff !important;
  box-shadow: 0 8px 18px rgba(63, 114, 255, .22) !important;
}

.home2-gantt-track .tone-1 { background: #35b56e !important; }
.home2-gantt-track .tone-2 { background: #ff9d35 !important; }
.home2-gantt-track .tone-3 { background: #8b9bb0 !important; }
.home2-gantt-track .tone-4 { background: #47a7ff !important; }

.home2-culture {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 360px)) 1fr !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 44px 84px !important;
  background:
    linear-gradient(90deg, rgba(240,248,255,.86), rgba(240,248,255,.54)),
    url("/assets/home-page-bg-v98.png") center / cover no-repeat,
    linear-gradient(135deg, #eaf6ff, #cfe9ff) !important;
}

.home2-culture-copy {
  display: grid !important;
  gap: 8px !important;
  min-height: 112px !important;
  padding: 20px 28px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 12px 26px rgba(65, 126, 190, .12) !important;
}

.home2-culture-copy small {
  color: #5aa8ff !important;
  font-size: 10px !important;
}

.home2-culture-copy strong {
  color: #154078 !important;
  font-size: 18px !important;
}

.home2-culture-copy span {
  color: #0e438a !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

.home2-notice {
  background:
    linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.68)),
    url("/assets/home-notice-bell-v94.png") right bottom / auto 82% no-repeat,
    linear-gradient(135deg, #f8fbff, #edf7ff) !important;
}

.home2-list.compact {
  gap: 8px !important;
}

.home2-list.compact .home2-list-item {
  min-height: 34px !important;
  padding: 5px 6px !important;
  border-color: transparent !important;
  background: transparent !important;
}

.home2-list-item.notice time {
  flex: 0 0 48px !important;
  color: #7388a3 !important;
  text-align: right !important;
}

@media (max-width: 1400px) {
  #appView .content > #dashboardView.home2-dashboard:not(.hidden) {
    min-width: 1180px !important;
  }
  .home2-row-work {
    grid-template-columns: 380px minmax(0, 1fr) !important;
  }
  .home2-gantt-head,
  .home2-gantt-row {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }
}


/* home2-v202: polish independent overview without touching legacy homepage. */
#appView .content > #dashboardView.home2-dashboard:not(.hidden) {
  grid-template-rows: 220px 360px 250px !important;
  gap: 24px !important;
  padding: 24px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(153, 205, 255, .26), transparent 30%),
    linear-gradient(180deg, #edf6ff 0%, #f7fbff 42%, #edf7ff 100%) !important;
}

#dashboardView.home2-dashboard,
#dashboardView.home2-dashboard * {
  box-sizing: border-box !important;
}

#dashboardView.home2-dashboard .home2-card,
#dashboardView.home2-dashboard .home2-hero,
#dashboardView.home2-dashboard .home2-culture {
  border-radius: 8px !important;
  border-color: rgba(123, 182, 255, .62) !important;
  background-color: rgba(255, 255, 255, .86) !important;
}

#dashboardView.home2-dashboard .home2-card:hover,
#dashboardView.home2-dashboard .home2-hero:hover,
#dashboardView.home2-dashboard .home2-culture:hover {
  box-shadow: 0 16px 36px rgba(54, 112, 180, .13) !important;
}

#dashboardView.home2-dashboard .home2-quick-grid button {
  min-width: 0 !important;
  height: 102px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .62) !important;
  box-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-quick-grid button:hover {
  background: rgba(238, 247, 255, .88) !important;
}

#dashboardView.home2-dashboard .home2-list-item {
  box-shadow: none !important;
  text-decoration: none !important;
}

#dashboardView.home2-dashboard .home2-list-item:hover {
  border-color: #b7d8ff !important;
  background: rgba(244, 250, 255, .92) !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list-item,
#dashboardView.home2-dashboard .home2-notice .home2-list.compact .home2-list-item {
  min-height: 34px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, .42) !important;
  box-shadow: none !important;
  filter: none !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list-item b {
  color: #183050 !important;
  font-size: 13px !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list-item time {
  color: #6f87a6 !important;
  font-weight: 700 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head {
  grid-template-columns: 300px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-row {
  grid-template-columns: 300px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  border-radius: 6px !important;
  background-color: rgba(241, 247, 255, .72) !important;
}

#dashboardView.home2-dashboard .home2-empty {
  color: #4f6684 !important;
  font-size: 14px !important;
}

#dashboardView.home2-dashboard .home2-culture {
  padding: 42px 72px !important;
}

#dashboardView.home2-dashboard .home2-culture-copy {
  align-content: center !important;
}


/* home2-v203: visual layer for the new office overview. */
#appView .content > #dashboardView.home2-dashboard:not(.hidden) {
  position: relative !important;
  isolation: isolate !important;
  gap: 24px !important;
  padding: 24px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(127, 190, 255, .34), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(203, 231, 255, .45), transparent 32%),
    linear-gradient(180deg, #edf6ff 0%, #f8fbff 44%, #eef7ff 100%) !important;
}

#appView .content > #dashboardView.home2-dashboard:not(.hidden)::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(115deg, transparent 0 55%, rgba(255,255,255,.38) 55% 58%, transparent 58%),
    radial-gradient(circle at 72% 78%, rgba(117, 190, 255, .18), transparent 28%) !important;
}

#dashboardView.home2-dashboard .home2-card,
#dashboardView.home2-dashboard .home2-hero,
#dashboardView.home2-dashboard .home2-culture {
  border: 1px solid rgba(123, 184, 255, .72) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 16px 36px rgba(52, 116, 190, .13) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
}

#dashboardView.home2-dashboard .home2-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.80) 45%, rgba(255,255,255,.38) 100%),
    url("/assets/home-hero-card-bg-v98.png") right center / auto 112% no-repeat,
    linear-gradient(135deg, #f9fcff, #e7f3ff) !important;
}

#dashboardView.home2-dashboard .home2-quick {
  background:
    linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.76) 56%, rgba(255,255,255,.34) 100%),
    url("/assets/home-quick-panel-v115.png") right center / auto 110% no-repeat,
    linear-gradient(135deg, #fbfdff, #edf7ff) !important;
}

#dashboardView.home2-dashboard .home2-notice {
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.80) 58%, rgba(255,255,255,.45) 100%),
    url("/assets/home-notice-bell-v94.png") right bottom / auto 86% no-repeat,
    linear-gradient(135deg, #fbfdff, #edf7ff) !important;
}

#dashboardView.home2-dashboard .home2-culture {
  background:
    linear-gradient(90deg, rgba(238,248,255,.90), rgba(238,248,255,.58)),
    url("/assets/home-page-bg-v98.png") center / cover no-repeat,
    linear-gradient(135deg, #eaf6ff, #d4ecff) !important;
}

#dashboardView.home2-dashboard .home2-avatar {
  display: grid !important;
  place-items: center !important;
  border: 2px solid #9ccaff !important;
  border-radius: 50% !important;
  background: rgba(229, 243, 255, .86) !important;
  box-shadow: 0 12px 26px rgba(44, 128, 220, .18) !important;
  color: #1c6bd6 !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}

#dashboardView.home2-dashboard .home2-greeting h1 {
  color: #10213b !important;
  font-size: 32px !important;
  font-weight: 900 !important;
}

#dashboardView.home2-dashboard .home2-greeting p {
  color: #405675 !important;
}

#dashboardView.home2-dashboard .home2-meta span:not(#home2Air) {
  padding-left: 14px !important;
  border-left: 1px solid rgba(124, 158, 198, .32) !important;
}

#dashboardView.home2-dashboard .home2-meta span:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}

#dashboardView.home2-dashboard #home2Air {
  min-width: 84px !important;
  color: #1677ff !important;
  background: rgba(232, 246, 255, .9) !important;
}

#dashboardView.home2-dashboard .home2-card h2 {
  color: #10213b !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

#dashboardView.home2-dashboard .home2-card header button {
  min-width: 58px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  color: #1677ff !important;
  background: rgba(240, 248, 255, .82) !important;
  box-shadow: 0 10px 22px rgba(45, 121, 220, .10) !important;
}

#dashboardView.home2-dashboard .home2-quick-grid button {
  height: 104px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .70) !important;
  box-shadow: 0 10px 24px rgba(65, 126, 190, .09) !important;
}

#dashboardView.home2-dashboard .home2-quick-grid i {
  color: #1677ff !important;
  background: linear-gradient(180deg, #eef8ff, #e4f2ff) !important;
  box-shadow: 0 8px 18px rgba(40, 130, 230, .12) !important;
}

#dashboardView.home2-dashboard .home2-list-item {
  border-color: rgba(213, 229, 246, .86) !important;
  background: rgba(255, 255, 255, .76) !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item {
  min-height: 62px !important;
}

#dashboardView.home2-dashboard .home2-gantt-head {
  height: 54px !important;
  color: #10213b !important;
  border-bottom-color: #cfe1f5 !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  background:
    repeating-linear-gradient(90deg, rgba(155, 183, 214, .36) 0 1px, transparent 1px 10%),
    linear-gradient(180deg, rgba(246,250,255,.84), rgba(238,247,255,.84)) !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar {
  height: 13px !important;
  top: 5px !important;
  background: linear-gradient(90deg, #3f72ff, #5b8bff) !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .tone-1 { background: linear-gradient(90deg, #35b56e, #57c982) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .tone-2 { background: linear-gradient(90deg, #ff982f, #ffbd55) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .tone-3 { background: linear-gradient(90deg, #94a3b8, #b9c4d2) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .tone-4 { background: linear-gradient(90deg, #32a9ff, #6cc5ff) !important; }

#dashboardView.home2-dashboard .home2-culture-copy {
  background: rgba(255,255,255,.74) !important;
  border-color: rgba(255,255,255,.82) !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list-item {
  background: rgba(255,255,255,.58) !important;
}


/* home2-v204: internal styling only; card positions are fixed. */
#dashboardView.home2-dashboard .home2-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.36) 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,0) 100%),
    url("/assets/home-hero-card-bg-v98.png") center center / cover no-repeat,
    linear-gradient(135deg, #f8fbff, #e7f3ff) !important;
}

#dashboardView.home2-dashboard .home2-quick {
  background:
    linear-gradient(90deg, rgba(255,255,255,.60) 0%, rgba(255,255,255,.22) 62%, rgba(255,255,255,0) 100%),
    url("/assets/home-quick-panel-v115.png") center center / cover no-repeat,
    linear-gradient(135deg, #fbfdff, #edf7ff) !important;
}

#dashboardView.home2-dashboard .home2-greeting h1,
#dashboardView.home2-dashboard #home2Greeting,
#dashboardView.home2-dashboard .home2-card h2,
#dashboardView.home2-dashboard .home2-card header h2 {
  font-weight: 500 !important;
  color: #142742 !important;
}

#dashboardView.home2-dashboard .home2-greeting h1,
#dashboardView.home2-dashboard #home2Greeting {
  font-size: 31px !important;
}

#dashboardView.home2-dashboard .home2-card h2,
#dashboardView.home2-dashboard .home2-card header h2 {
  font-size: 22px !important;
}

#dashboardView.home2-dashboard .home2-quick-grid button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-quick-grid button:hover {
  background: rgba(236, 247, 255, .34) !important;
}

#dashboardView.home2-dashboard .home2-quick-grid i {
  position: relative !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-quick-grid i::before {
  content: "" !important;
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  margin: 3px auto 0 !important;
  background: #1677ff !important;
  -webkit-mask: var(--home2-icon) center / contain no-repeat !important;
  mask: var(--home2-icon) center / contain no-repeat !important;
}

#dashboardView.home2-dashboard .home2-quick-grid button:nth-child(1) i {
  --home2-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M6 5h12v14H6z'/%3E%3C/svg%3E");
}

#dashboardView.home2-dashboard .home2-quick-grid button:nth-child(2) i {
  --home2-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7h11'/%3E%3Cpath d='M8 12h11'/%3E%3Cpath d='M8 17h11'/%3E%3Cpath d='M4 7l1 1 2-2'/%3E%3Cpath d='M4 12l1 1 2-2'/%3E%3Cpath d='M4 17l1 1 2-2'/%3E%3C/svg%3E");
}

#dashboardView.home2-dashboard .home2-quick-grid button:nth-child(3) i {
  --home2-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M8 17V9'/%3E%3Cpath d='M13 17V7'/%3E%3Cpath d='M18 17v-5'/%3E%3Cpath d='M3 19h18'/%3E%3C/svg%3E");
}

#dashboardView.home2-dashboard .home2-quick-grid button:nth-child(4) i {
  --home2-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 9h8'/%3E%3Cpath d='M8 13h5'/%3E%3C/svg%3E");
}

#dashboardView.home2-dashboard .home2-quick-grid button:nth-child(5) i {
  --home2-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 4v5c0 5-3.4 8.4-8 9-4.6-.6-8-4-8-9V7z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
}

#dashboardView.home2-dashboard .home2-quick-grid span {
  font-weight: 500 !important;
  color: #183050 !important;
}

#dashboardView.home2-dashboard .home2-culture {
  padding: 0 !important;
  background: url("/assets/home-page-bg-v98.png") center center / cover no-repeat !important;
}

#dashboardView.home2-dashboard .home2-culture-copy {
  display: none !important;
}


/* home2-v205: requested visual tweaks only; card positions remain fixed. */
#dashboardView.home2-dashboard .home2-hero {
  background: url("/assets/home2-hero-upload-v205.png") center center / cover no-repeat !important;
}

#dashboardView.home2-dashboard .home2-card header button,
#dashboardView.home2-dashboard .home2-todo header button,
#dashboardView.home2-dashboard .home2-notice header button {
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #2d7ff0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

#dashboardView.home2-dashboard .home2-card header button:hover,
#dashboardView.home2-dashboard .home2-todo header button:hover,
#dashboardView.home2-dashboard .home2-notice header button:hover {
  color: #1266d6 !important;
  text-decoration: underline !important;
  background: transparent !important;
}

#dashboardView.home2-dashboard .home2-notice header {
  margin-bottom: 10px !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list.compact {
  display: grid !important;
  grid-template-rows: repeat(5, 28px) !important;
  gap: 6px !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list.compact .home2-list-item {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 4px !important;
  border: 0 !important;
  background: transparent !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list-item b {
  font-size: 12px !important;
  line-height: 28px !important;
  font-weight: 400 !important;
}

#dashboardView.home2-dashboard .home2-notice .home2-list-item time {
  flex: 0 0 42px !important;
  font-size: 12px !important;
  line-height: 28px !important;
  font-weight: 400 !important;
  color: #6f87a6 !important;
}


/* home2-v206: fix todo runtime error and link culture image; layout remains fixed. */
#dashboardView.home2-dashboard .home2-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,0) 100%),
    url("/assets/home2-hero-upload-v205.png") center center / auto 100% no-repeat,
    linear-gradient(135deg, #f8fbff, #e7f3ff) !important;
}

#dashboardView.home2-dashboard .home2-culture.has-culture-image {
  background: var(--home2-culture-bg) center center / cover no-repeat !important;
}

#dashboardView.home2-dashboard .home2-culture.has-culture-image::before {
  display: none !important;
}


/* home2-v207: content wiring only; fixed card positions unchanged. */
#dashboardView.home2-dashboard .home2-notice header {
  justify-content: flex-start !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list {
  grid-template-rows: 1fr auto !important;
  height: calc(100% - 50px) !important;
}

#dashboardView.home2-dashboard .home2-todo-page {
  display: grid !important;
  grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-height: 0 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item {
  min-height: 44px !important;
  height: auto !important;
  padding: 7px 10px !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item b {
  font-size: 13px !important;
  font-weight: 500 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item small {
  font-size: 12px !important;
}

#dashboardView.home2-dashboard .home2-todo-pager {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding-top: 8px !important;
}

#dashboardView.home2-dashboard .home2-todo-pager button {
  min-width: 68px !important;
  height: 30px !important;
  border: 1px solid #cfe1f6 !important;
  border-radius: 8px !important;
  background: rgba(246, 251, 255, .82) !important;
  color: #2d7ff0 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

#dashboardView.home2-dashboard .home2-todo-pager button:disabled {
  color: #9aacbf !important;
  background: rgba(246, 248, 251, .68) !important;
}

#dashboardView.home2-dashboard .home2-todo-pager span {
  color: #637996 !important;
  font-size: 12px !important;
}

#dashboardView.home2-dashboard .home2-gantt header {
  margin-bottom: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head {
  height: 42px !important;
  align-items: end !important;
}

#dashboardView.home2-dashboard .home2-gantt-head > span:first-child {
  color: transparent !important;
}


/* home2-v208: decision todo coverage and row location highlight. */
#decisionTaskTable tr.decision-row-highlight td {
  background: #fff7cc !important;
  box-shadow: inset 0 0 0 999px rgba(255, 224, 110, .24) !important;
  transition: background .2s ease;
}
\n/* home2-v209: todo center uses real approvals plus executor-owned decision status items only. */\n
/* home2-v210: todo center loads decision records before rendering executor-owned decision status items. */

/* home2-v211: todo center renders after decisions and approvals are both refreshed. */

/* home2-v212: decision field aliases match the live decision table headers. */

/* home2-v213: restore missing dateKey helper used by home2 todo rendering. */

/* home2-v214: todo center lists all executor-owned decision status rows except canceled ones. */


/* home2-v215: gantt/todo/enterprise polish; card positions stay fixed. */
#dashboardView.home2-dashboard .home2-gantt {
  padding-top: 26px !important;
}

#dashboardView.home2-dashboard .home2-gantt header {
  position: absolute !important;
  left: 24px !important;
  top: 24px !important;
  margin: 0 !important;
  z-index: 2 !important;
}

#dashboardView.home2-dashboard .home2-gantt-body {
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 58px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v215 {
  height: 58px !important;
  padding-left: 260px !important;
  border-bottom: 1px solid #cfe1f5 !important;
  align-items: start !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v215 > div {
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  height: 100% !important;
  align-items: start !important;
  padding-top: 2px !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v215 span {
  display: grid !important;
  justify-items: center !important;
  gap: 2px !important;
  color: #7a8fac !important;
  font-size: 13px !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v215 span.today,
#dashboardView.home2-dashboard .home2-gantt-head-v215 span.today b,
#dashboardView.home2-dashboard .home2-gantt-head-v215 span.today small {
  color: #f02d5a !important;
}

#dashboardView.home2-dashboard .home2-gantt-rows {
  display: grid !important;
  grid-template-rows: repeat(5, minmax(44px, 1fr)) !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding-top: 8px !important;
}

#dashboardView.home2-dashboard .home2-gantt-row-v215 {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#employeeAccountsView .account-select {
  grid-area: person !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  align-self: center !important;
  justify-self: start !important;
  z-index: 1 !important;
}

#employeeAccountsView .account-select input {
  width: 16px !important;
  height: 16px !important;
  accent-color: #2f6fdb !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  position: relative !important;
  height: 100% !important;
  background-image: linear-gradient(to right, rgba(190, 209, 232, .72) 1px, transparent 1px) !important;
  background-size: 10% 100% !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .today-line {
  position: absolute !important;
  left: var(--today-left, 30%) !important;
  top: -10px !important;
  bottom: -10px !important;
  width: 1px !important;
  background: rgba(240, 45, 90, .72) !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar {
  position: absolute !important;
  left: var(--left, 0%) !important;
  top: 50% !important;
  width: var(--width, 10%) !important;
  height: 15px !important;
  min-width: 42px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar.active { background: linear-gradient(90deg, #3f72ff, #5b8bff) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.done { background: linear-gradient(90deg, #35b56e, #57c982) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.late { background: linear-gradient(90deg, #ff982f, #ffbd55) !important; }

.todo-handle-btn {
  flex: 0 0 auto !important;
  min-width: 62px !important;
  height: 30px !important;
  border: 1px solid #bcd6f6 !important;
  border-radius: 8px !important;
  background: #f4f9ff !important;
  color: #176fe8 !important;
  font-size: 12px !important;
}

.enterprise-v215 .enterprise-history-item {
  grid-template-columns: 72px minmax(0, 1fr) auto auto !important;
}

.enterprise-popup-none {
  grid-template-columns: 72px minmax(0, 1fr) !important;
}

.enterprise-popup-until {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #64748b !important;
  font-size: 12px !important;
}

.enterprise-popup-until input {
  width: 170px !important;
  height: 32px !important;
}

.enterprise-culture-preview-v215 article {
  position: relative !important;
}

.enterprise-culture-preview-v215 .culture-delete {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(190, 60, 80, .3) !important;
  background: rgba(255,255,255,.88) !important;
  color: #d6334c !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.home-notice-dialog-card.official-notice-card {
  width: 760px !important;
  height: 620px !important;
  max-width: calc(100vw - 80px) !important;
  max-height: calc(100vh - 80px) !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.official-notice-card > header {
  justify-content: flex-end !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 10px 18px 0 !important;
}

.official-notice-doc {
  height: calc(100% - 48px) !important;
  padding: 10px 64px 52px !important;
  overflow: auto !important;
}

.official-kicker {
  margin: 0 0 18px !important;
  text-align: center !important;
  color: #9b1c28 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
}

.official-notice-card #homeNoticeDialogTitle {
  margin: 0 0 18px !important;
  text-align: center !important;
  color: #111827 !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.official-notice-card #homeNoticeDialogMeta {
  margin: 0 0 26px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #d7dde8 !important;
  text-align: center !important;
  color: #6b7280 !important;
  font-size: 13px !important;
}

.official-notice-card .home-notice-dialog-content {
  color: #1f2937 !important;
  font-size: 16px !important;
  line-height: 2 !important;
  white-space: pre-wrap !important;
}


/* home2-v217: customer quality shortcut and denser quality cards. */
.customer-quality-btn {
  margin-top: 8px !important;
  background: #f4f9ff !important;
  color: #176fe8 !important;
  border-color: #bcd6f6 !important;
}

.quality-shell {
  gap: 12px !important;
}

.quality-table-wrap {
  display: grid !important;
  gap: 10px !important;
}

.quality-card {
  border-radius: 8px !important;
  border: 1px solid #dfe8f3 !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(35, 75, 120, .06) !important;
}

.quality-card > header {
  min-height: 42px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.quality-card .quality-info-grid,
.quality-card .quality-detail-grid {
  gap: 8px !important;
}

.quality-card .quality-info-grid span,
.quality-card .quality-detail-grid div,
.quality-card .quality-progress {
  border-radius: 6px !important;
  background: #f8fbff !important;
  border: 1px solid #edf3fa !important;
}


/* home2-v220: todo arrows, gantt alignment, notice dialog and popup toggle polish. */
#dashboardView.home2-dashboard .home2-todo-page-v220 {
  gap: 0 !important;
  grid-template-rows: repeat(5, minmax(34px, 1fr)) !important;
  padding: 8px 8px 0 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 {
  border: 0 !important;
  border-bottom: 1px solid rgba(199, 216, 236, .72) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 8px 0 !important;
  min-height: 36px !important;
  align-items: center !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 b,
#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 small,
#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 em {
  font-weight: 400 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 b {
  font-size: 13px !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 small {
  font-size: 12px !important;
  color: #607692 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 em {
  min-width: 28px !important;
  color: #1e78ee !important;
  font-size: 13px !important;
  text-align: right !important;
}

#dashboardView.home2-dashboard .home2-todo-pager-v220 {
  padding-top: 12px !important;
}

#dashboardView.home2-dashboard .home2-gantt-body {
  grid-template-rows: 54px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  height: 54px !important;
  border-bottom: 1px solid #cfe1f5 !important;
  align-items: start !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 > span {
  min-width: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 > div {
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  align-items: start !important;
  height: 54px !important;
  padding-top: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 span {
  display: grid !important;
  justify-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  color: #7186a4 !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 span b,
#dashboardView.home2-dashboard .home2-gantt-head-v220 span small {
  font-weight: 400 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 span.today,
#dashboardView.home2-dashboard .home2-gantt-head-v220 span.today b,
#dashboardView.home2-dashboard .home2-gantt-head-v220 span.today small {
  color: #f02d5a !important;
}

#dashboardView.home2-dashboard .home2-gantt-rows-v220 {
  padding-top: 8px !important;
}

#dashboardView.home2-dashboard .home2-gantt-row-v220 {
  grid-template-columns: 260px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-name-v220 {
  align-items: start !important;
  justify-items: start !important;
  text-align: left !important;
  padding: 2px 16px 2px 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-name-v220 b,
#dashboardView.home2-dashboard .home2-gantt-name-v220 small {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  font-weight: 400 !important;
}

#dashboardView.home2-dashboard .home2-gantt-name-v220 b {
  font-size: 13px !important;
}

#dashboardView.home2-dashboard .home2-gantt-name-v220 small {
  margin-top: 4px !important;
  font-size: 12px !important;
  color: #607692 !important;
}

.todo-center-row-v220 {
  grid-template-columns: 44px minmax(0, 1fr) 34px !important;
}

.todo-center-row-v220 strong,
.todo-center-row-v220 small,
.todo-center-row-v220 b {
  font-weight: 400 !important;
}

.todo-jump-arrow-v220 {
  width: 30px !important;
  min-width: 30px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1e78ee !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.home-notice-dialog-card.official-notice-card-v220 {
  width: 860px !important;
  height: 700px !important;
  max-width: calc(100vw - 72px) !important;
  max-height: calc(100vh - 64px) !important;
}

.official-notice-card-v220 > header {
  height: 46px !important;
  padding: 10px 18px 0 !important;
}

.official-notice-doc-v220 {
  height: calc(100% - 46px) !important;
  padding: 26px 72px 58px !important;
}

.official-notice-card-v220 .official-kicker {
  display: none !important;
}

#customerReturnForm button[type="submit"],
#customerReturnForm #customerQualityButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(50% - 6px) !important;
  min-height: 36px !important;
  margin-top: 8px !important;
  vertical-align: top !important;
}

#customerReturnForm #customerQualityButton {
  margin-left: 8px !important;
  background: var(--primary, #2d7ff0) !important;
  border-color: var(--primary, #2d7ff0) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(45, 127, 240, .18) !important;
}


/* home2-v221: spacing, gantt flat rows, todo arrow alignment and after-sale buttons. */
#dashboardView.home2-dashboard .home2-todo .home2-list {
  height: calc(100% - 44px) !important;
}

#dashboardView.home2-dashboard .home2-todo-page-v220 {
  grid-template-rows: repeat(5, 48px) !important;
  gap: 5px !important;
  padding: 6px 22px 0 0 !important;
  align-content: start !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 {
  min-height: 48px !important;
  height: 48px !important;
  padding: 7px 0 !important;
  grid-template-columns: minmax(0, 1fr) 30px !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 span {
  gap: 5px !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 em {
  align-self: center !important;
  justify-self: end !important;
}

#dashboardView.home2-dashboard .home2-todo-pager-v220 {
  transform: translateY(12px) !important;
  padding-top: 10px !important;
  gap: 8px !important;
}

#dashboardView.home2-dashboard .home2-todo-pager-v220 button {
  min-width: 56px !important;
  width: 56px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  font-size: 12px !important;
  border-radius: 7px !important;
}

#dashboardView.home2-dashboard .home2-gantt-row-v220,
#dashboardView.home2-dashboard .home2-gantt-row-v215,
#dashboardView.home2-dashboard .home2-gantt-row {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-row-v220::before,
#dashboardView.home2-dashboard .home2-gantt-row-v220::after,
#dashboardView.home2-dashboard .home2-gantt-row-v215::before,
#dashboardView.home2-dashboard .home2-gantt-row-v215::after {
  display: none !important;
  content: none !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* home2-v226: keep the todo summary pager inside the card. */
#dashboardView.home2-dashboard .home2-todo .home2-list {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 28px !important;
  height: calc(100% - 44px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-todo-page-v220 {
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 2px 22px 0 0 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 {
  min-height: 0 !important;
  height: auto !important;
  padding: 5px 0 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 span {
  min-width: 0 !important;
  gap: 3px !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 b,
#dashboardView.home2-dashboard .home2-todo .home2-list-item.home2-todo-line-v220 small {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-todo-pager-v220 {
  align-self: end !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  transform: none !important;
}

/* home2-v227: ICP filing link required by MIIT. */
.site-icp-footer {
  position: fixed !important;
  right: 16px !important;
  bottom: 8px !important;
  z-index: 1000 !important;
  max-width: calc(100vw - 32px) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(148, 163, 184, .32) !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08) !important;
  backdrop-filter: blur(8px) !important;
  line-height: 1.4 !important;
}

.site-icp-footer a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #667085 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.site-icp-footer img {
  width: 14px !important;
  height: 14px !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

.site-icp-footer a:hover {
  color: #1e78ee !important;
  text-decoration: underline !important;
}

body:has(#loginView:not(.hidden)) .site-icp-footer {
  right: 50% !important;
  transform: translateX(50%) !important;
}

/* home2-v228: uploaded avatars must beat decorative card/avatar backgrounds. */
#dashboardView.home2-dashboard #home2Avatar.user-avatar.has-image,
#dashboardView #homeAvatar.user-avatar.has-image,
#appView #commandAvatar.user-avatar.has-image {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: transparent !important;
  text-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar {
  box-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-gantt {
  position: relative !important;
  padding: 24px !important;
}

#dashboardView.home2-dashboard .home2-gantt header {
  position: absolute !important;
  top: 24px !important;
  left: 24px !important;
  height: 34px !important;
  margin: 0 !important;
  z-index: 2 !important;
}

#dashboardView.home2-dashboard .home2-gantt-body {
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 44px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 {
  grid-template-columns: 260px minmax(0, 1fr) !important;
  height: 44px !important;
  align-items: start !important;
}

#dashboardView.home2-dashboard .home2-gantt-head-v220 > div {
  height: 34px !important;
  align-items: start !important;
  padding-top: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-rows-v220 {
  grid-template-rows: repeat(5, minmax(46px, 1fr)) !important;
  gap: 8px !important;
  padding-top: 12px !important;
}

#dashboardView.home2-dashboard .home2-gantt-row-v220 {
  min-height: 46px !important;
}

#dashboardView.home2-dashboard .home2-gantt-name-v220 {
  display: grid !important;
  align-content: center !important;
  gap: 5px !important;
}

#dashboardView.home2-dashboard .home2-gantt-name-v220 b,
#dashboardView.home2-dashboard .home2-gantt-name-v220 small {
  font-weight: 400 !important;
  text-align: left !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  background-color: transparent !important;
  background-image: linear-gradient(to right, rgba(190, 209, 232, .72) 1px, transparent 1px) !important;
  background-size: 10% 100% !important;
}

.todo-center-row-v220 {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 34px !important;
  align-items: center !important;
}

.todo-center-row-v220 .todo-jump-arrow-v220 {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
}

.todo-center-row-v220 > span {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#customerReturnForm .customer-return-actions-v221 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 8px !important;
}

#customerReturnForm .customer-return-actions-v221 button {
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
}

#customerReturnForm .customer-return-actions-v221 #customerQualityButton {
  background: var(--primary, #2d7ff0) !important;
  border-color: var(--primary, #2d7ff0) !important;
  color: #fff !important;
}

/* customer-workbench-v229: compact secondary processing and desktop app width fix */
#customerWorkbenchView {
  padding-inline: 8px !important;
  overflow-x: hidden !important;
}

#customerWorkbenchView .customer-shell {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 10px 34px !important;
  gap: 12px !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-hero,
#customerWorkbenchView .customer-desk-grid,
#customerWorkbenchView .customer-ledger-section,
#customerWorkbenchView .customer-list-panel {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-hero {
  padding: 16px 18px !important;
}

#customerWorkbenchView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: minmax(300px, 356px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

#customerWorkbenchView .customer-main-workarea,
#customerWorkbenchView .customer-processing-panel {
  min-width: 0 !important;
  max-width: 100% !important;
}

#customerWorkbenchView .customer-processing-panel {
  overflow: hidden !important;
  padding: 16px !important;
}

#customerWorkbenchView .customer-processing-panel > .record-header,
#customerWorkbenchView .customer-process-info,
#customerWorkbenchView .customer-process-grid {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-processing-panel > .record-header {
  display: grid !important;
  grid-template-columns: minmax(180px, auto) minmax(260px, 420px) !important;
  gap: 14px !important;
  align-items: end !important;
}

#customerWorkbenchView .customer-process-search {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 420px !important;
  margin-left: auto !important;
}

#customerWorkbenchView .customer-process-info {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  gap: 0 !important;
  min-height: 0 !important;
  margin-top: 14px !important;
  padding: 14px 16px !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 8px !important;
  background: #f7f9fc !important;
}

#customerWorkbenchView .customer-process-info.is-empty {
  min-height: 0 !important;
}

#customerWorkbenchView .customer-process-column {
  min-width: 0 !important;
  padding: 2px 18px !important;
  border-right: 1px solid #e2e8f0 !important;
}

#customerWorkbenchView .customer-process-column:first-child {
  padding-left: 0 !important;
}

#customerWorkbenchView .customer-process-column:last-child {
  padding-right: 0 !important;
  border-right: 0 !important;
}

#customerWorkbenchView .customer-process-column h4 {
  margin: 0 0 8px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #0f1d2d !important;
}

#customerWorkbenchView .customer-info-line {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 8px !important;
  margin: 0 0 7px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

#customerWorkbenchView .customer-info-line b {
  color: #64748b !important;
  font-weight: 600 !important;
}

#customerWorkbenchView .customer-info-line span {
  min-width: 0 !important;
  color: #1f3554 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-info-line.is-long span {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space: normal !important;
}

#customerWorkbenchView .customer-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 14px !important;
  border-top: 1px solid #dbe6f2 !important;
  overflow: visible !important;
}

#customerWorkbenchView .customer-mini-form {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 12px 10px !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
  border-right: 1px solid #dbe6f2 !important;
  align-content: start !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-mini-form:last-child {
  border-right: 0 !important;
}

#customerWorkbenchView .customer-mini-form strong {
  grid-column: 1 / -1 !important;
  text-align: center !important;
  margin: 0 0 4px !important;
}

#customerWorkbenchView .customer-mini-form label {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}

#customerWorkbenchView .customer-mini-form label span {
  color: #5d6b7c !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-mini-form input,
#customerWorkbenchView .customer-mini-form select {
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-mini-form > button {
  grid-column: 2 !important;
  width: 100% !important;
  justify-self: stretch !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label {
  grid-template-columns: 64px minmax(0, 1fr) !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 0 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
}

#customerWorkbenchView ~ .site-icp-footer,
.site-icp-footer {
  pointer-events: none !important;
}

@media (max-width: 1180px) {
  #customerWorkbenchView .customer-desk-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerWorkbenchView .customer-process-info,
  #customerWorkbenchView .customer-process-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #customerWorkbenchView .customer-process-column {
    padding: 12px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }

  #customerWorkbenchView .customer-process-column:last-child {
    border-bottom: 0 !important;
  }

  #customerWorkbenchView .customer-mini-form {
    border-right: 0 !important;
    border-bottom: 1px solid #dbe6f2 !important;
  }

  #customerWorkbenchView .customer-mini-form:last-child {
    border-bottom: 0 !important;
  }
}

/* customer-workbench-v230: single rectangle customer info matrix */
#customerWorkbenchView .customer-process-info {
  display: block !important;
  min-height: 0 !important;
  max-height: 150px !important;
  overflow: auto !important;
  padding: 14px 16px 12px !important;
  background: #fbfdff !important;
  border: 1px solid #bcd8f5 !important;
  border-radius: 8px !important;
}

#customerWorkbenchView .customer-process-matrix {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 8px 22px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line b {
  min-width: 0 !important;
  color: #17436f !important;
  font-weight: 700 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  min-width: 0 !important;
  color: #1f3554 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-long {
  grid-column: span 2 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-long span {
  display: block !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 1280px) {
  #customerWorkbenchView .customer-process-matrix {
    grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
  }

  #customerWorkbenchView .customer-process-matrix .customer-info-line.is-long {
    grid-column: span 1 !important;
  }
}

/* customer-workbench-v231: remove field-cell styling and compact processing forms */
#customerWorkbenchView .customer-process-info {
  max-height: none !important;
  overflow: visible !important;
  padding: 12px 14px !important;
}

#customerWorkbenchView .customer-process-matrix,
#customerWorkbenchView .customer-process-matrix *,
#customerWorkbenchView .customer-process-matrix .customer-info-line,
#customerWorkbenchView .customer-process-matrix .customer-info-line b,
#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#customerWorkbenchView .customer-process-matrix {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 7px 18px !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line {
  grid-template-columns: 74px minmax(0, 1fr) !important;
  align-items: baseline !important;
  padding: 0 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line b,
#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  font-style: normal !important;
}

#customerWorkbenchView .customer-process-grid {
  margin-top: 10px !important;
}

#customerWorkbenchView .customer-mini-form {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 8px 8px !important;
  padding: 10px 12px !important;
}

#customerWorkbenchView .customer-mini-form strong {
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

#customerWorkbenchView .customer-mini-form label {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 8px !important;
}

#customerWorkbenchView .customer-mini-form input,
#customerWorkbenchView .customer-mini-form select {
  height: 32px !important;
  min-height: 32px !important;
  padding-block: 4px !important;
}

#customerWorkbenchView .customer-mini-form > button,
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  height: 32px !important;
  min-height: 32px !important;
  padding-block: 0 !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row {
  gap: 8px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label {
  grid-template-columns: 54px minmax(0, 1fr) !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  gap: 8px !important;
}

/* customer-workbench-v232: tighter alignment and repurchase icon */
#customerWorkbenchView {
  padding-inline: 0 !important;
}

#customerWorkbenchView .customer-shell {
  padding: 0 4px 28px !important;
  gap: 8px !important;
}

#customerWorkbenchView .customer-desk-grid {
  gap: 8px !important;
}

#customerWorkbenchView .customer-ledger-section {
  margin-top: 0 !important;
}

#customerWorkbenchView .customer-processing-panel,
#customerWorkbenchView .customer-list-panel,
#customerWorkbenchView .customer-consult-panel {
  border-radius: 8px !important;
}

#customerWorkbenchView .customer-list-panel {
  padding: 14px 12px !important;
}

#customerWorkbenchView .customer-filter-bar {
  gap: 8px !important;
}

#customerWorkbenchView .customer-ledger-table,
#customerWorkbenchView #customerRecentRecords {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#customerWorkbenchView .customer-process-grid {
  margin-top: 8px !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

#customerWorkbenchView .customer-repurchase-icon,
#customerWorkbenchView .repurchase-tag {
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  border: 1px solid #f0c56b !important;
  border-radius: 50% !important;
  background: #fff3cf !important;
  color: #9a5b00 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* customer-workbench-v233: ledger edge alignment and denser process forms */
#customerWorkbenchView,
#customerWorkbenchView .customer-shell,
#customerWorkbenchView .customer-ledger-section,
#customerWorkbenchView .customer-main-workarea,
#customerWorkbenchView .customer-processing-panel,
#customerWorkbenchView .customer-list-panel {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-shell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#customerWorkbenchView .customer-desk-grid {
  grid-template-columns: minmax(280px, 348px) minmax(0, 1fr) !important;
  gap: 6px !important;
}

#customerWorkbenchView .customer-consult-form {
  padding: 14px 12px !important;
}

#customerWorkbenchView .customer-consult-form .form-grid {
  gap: 8px !important;
}

#customerWorkbenchView .customer-consult-form input,
#customerWorkbenchView .customer-consult-form select {
  height: 32px !important;
  min-height: 32px !important;
}

#customerWorkbenchView .customer-consult-form textarea {
  min-height: 72px !important;
}

#customerWorkbenchView .customer-processing-panel {
  padding: 14px 12px 10px !important;
}

#customerWorkbenchView .customer-process-info {
  padding: 10px 12px !important;
}

#customerWorkbenchView .customer-process-grid {
  margin-top: 6px !important;
}

#customerWorkbenchView .customer-mini-form {
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 6px 8px !important;
  padding: 8px 10px !important;
}

#customerWorkbenchView .customer-mini-form strong {
  font-size: 13px !important;
  line-height: 1.3 !important;
}

#customerWorkbenchView .customer-mini-form label {
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 8px !important;
}

#customerWorkbenchView .customer-mini-form label span {
  font-size: 12px !important;
}

#customerWorkbenchView .customer-mini-form input,
#customerWorkbenchView .customer-mini-form select,
#customerWorkbenchView .customer-mini-form > button,
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  height: 30px !important;
  min-height: 30px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row {
  grid-template-columns: 118px minmax(118px, 150px) !important;
  gap: 8px !important;
  align-items: center !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 6px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label:nth-child(2) {
  grid-template-columns: 54px minmax(0, 1fr) !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-template-columns: minmax(0, 1fr) minmax(130px, 180px) !important;
  gap: 8px !important;
}

#customerWorkbenchView .customer-list-panel {
  padding: 12px 10px !important;
  overflow-x: hidden !important;
}

#customerWorkbenchView .customer-filter-bar {
  justify-content: flex-end !important;
  max-width: 100% !important;
}

#customerWorkbenchView .customer-filter-bar .search {
  max-width: 360px !important;
}

#customerWorkbenchView .customer-ledger-table,
#customerWorkbenchView #customerRecentRecords,
#customerWorkbenchView .customer-ledger-table *,
#customerWorkbenchView #customerRecentRecords * {
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-ledger-table,
#customerWorkbenchView #customerRecentRecords {
  margin-right: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* customer-workbench-v234: tighter process info hierarchy */
#customerWorkbenchView .customer-process-info {
  padding: 10px 12px !important;
}

#customerWorkbenchView .customer-process-matrix {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px 16px !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: baseline !important;
  min-width: 0 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-short {
  grid-column: span 1 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-long {
  grid-column: span 3 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line b {
  color: #16466f !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  color: #173456 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-repurchase-icon,
#customerWorkbenchView .customer-quality-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

#customerWorkbenchView .customer-repurchase-icon {
  border: 1px solid #f0c56b !important;
  background: #fff3cf !important;
  color: #9a5b00 !important;
}

#customerWorkbenchView .customer-quality-icon {
  border: 1px solid #73b7ff !important;
  background: #e7f3ff !important;
  color: #0969da !important;
}

@media (max-width: 1380px) {
  #customerWorkbenchView .customer-process-matrix {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #customerWorkbenchView .customer-process-matrix .customer-info-line.is-long {
    grid-column: span 3 !important;
  }
}

/* customer-workbench-v235: panel spacing, equal height and right edge alignment */
#customerWorkbenchView .customer-shell {
  width: 100% !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

#customerWorkbenchView .customer-desk-grid,
#customerWorkbenchView .customer-ledger-section,
#customerWorkbenchView .customer-list-panel {
  width: 100% !important;
  max-width: 100% !important;
}

#customerWorkbenchView .customer-desk-grid {
  grid-template-columns: minmax(280px, 356px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

#customerWorkbenchView .customer-main-workarea {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

#customerWorkbenchView .customer-consult-form,
#customerWorkbenchView .customer-processing-panel {
  height: 100% !important;
}

#customerWorkbenchView .customer-processing-panel {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

#customerWorkbenchView .customer-process-info {
  margin-top: 10px !important;
}

#customerWorkbenchView .customer-process-grid {
  height: auto !important;
  min-height: 0 !important;
  align-self: end !important;
}

#customerWorkbenchView .customer-mini-form {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 5px 8px !important;
  padding: 7px 10px !important;
}

#customerWorkbenchView .customer-mini-form label {
  grid-template-columns: 46px minmax(0, 1fr) !important;
}

#customerWorkbenchView .customer-mini-form input,
#customerWorkbenchView .customer-mini-form select,
#customerWorkbenchView .customer-mini-form > button,
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  height: 28px !important;
  min-height: 28px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label,
#customerWorkbenchView #customerReturnForm .customer-after-row label:nth-child(2) {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 6px !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label:nth-child(2) span {
  font-size: 11px !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

#customerWorkbenchView .customer-list-panel {
  margin-top: 12px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

#customerWorkbenchView .customer-ledger-section {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

#customerWorkbenchView .customer-filter-bar {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* customer-workbench-v236: restore two-column desk and inline save controls */
#customerWorkbenchView .customer-desk-grid {
  display: grid !important;
  grid-template-columns: minmax(300px, 356px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

#customerWorkbenchView .customer-main-workarea {
  display: contents !important;
}

#customerWorkbenchView .customer-consult-form {
  grid-column: 1 !important;
  width: 100% !important;
  height: auto !important;
  align-self: stretch !important;
}

#customerWorkbenchView .customer-processing-panel {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

#customerWorkbenchView .customer-processing-panel > .record-header {
  min-width: 0 !important;
}

#customerWorkbenchView .customer-process-grid {
  align-self: end !important;
}

#customerWorkbenchView .customer-process-matrix {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-long {
  grid-column: span 3 !important;
}

#customerWorkbenchView .customer-filter-bar {
  display: flex !important;
  flex-wrap: wrap !important;
}

#customerWorkbenchView #customerQualityFilter {
  color: #0969da !important;
  border-color: #b8d7ff !important;
  background: #f1f7ff !important;
}

/* customer-workbench-v237: fix process badges, ledger density, filters, and after-sales alignment. */
#customerWorkbenchView,
#customerWorkbenchView .customer-shell,
#customerWorkbenchView .customer-hero,
#customerWorkbenchView .customer-desk-grid,
#customerWorkbenchView .customer-ledger-section,
#customerWorkbenchView .customer-list-panel,
#customerWorkbenchView .customer-order-ledger {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-shell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#customerWorkbenchView .customer-ledger-section,
#customerWorkbenchView .customer-list-panel,
#customerWorkbenchView .customer-filter-bar {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

#customerWorkbenchView .customer-process-matrix {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 6px 12px !important;
  align-items: start !important;
  text-align: left !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: start !important;
  min-width: 0 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-short {
  grid-column: span 2 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-long {
  grid-column: span 4 !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line b {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  text-align: left !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line span {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  min-width: 0 !important;
  color: #18395f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#customerWorkbenchView .customer-process-matrix .customer-info-line.is-date span {
  color: #5f7187 !important;
  font-variant-numeric: tabular-nums !important;
}

#customerWorkbenchView .customer-repurchase-icon,
#customerWorkbenchView .customer-quality-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#customerWorkbenchView .customer-quality-icon {
  border: 1px solid #8ec5ff !important;
  background: #eaf5ff !important;
  color: #075ba8 !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label,
#customerWorkbenchView #customerReturnForm .customer-after-row label:nth-child(2) {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 6px !important;
  align-items: center !important;
  min-width: 0 !important;
}

#customerWorkbenchView #customerReturnForm .customer-after-row label span,
#customerWorkbenchView #customerReturnForm .customer-after-row label:nth-child(2) span {
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-filter-bar {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-filter-bar .search {
  flex: 1 1 360px !important;
  min-width: 260px !important;
}

#customerWorkbenchView .customer-filter-bar button.secondary,
#customerWorkbenchView .customer-filter-bar .compact-btn,
#customerWorkbenchView .customer-filter-bar label,
#customerWorkbenchView .customer-chase-filter {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .customer-filter-bar label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#customerWorkbenchView .customer-filter-bar input[type="number"] {
  width: 44px !important;
  min-width: 44px !important;
}

#customerWorkbenchView .customer-order-columns,
#customerWorkbenchView .customer-order-body {
  display: grid !important;
  grid-template-columns: minmax(126px, 1.05fr) minmax(180px, 1.65fr) minmax(76px, .65fr) minmax(150px, 1.25fr) minmax(104px, .85fr) minmax(150px, 1.25fr) minmax(180px, 1.45fr) minmax(170px, 1.35fr) !important;
  width: 100% !important;
  max-width: 100% !important;
}

#customerWorkbenchView .customer-order-card {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
}

#customerWorkbenchView .customer-order-card,
#customerWorkbenchView .customer-order-card * {
  box-sizing: border-box !important;
}

#customerWorkbenchView .customer-order-head {
  padding: 8px 10px !important;
  gap: 10px !important;
}

#customerWorkbenchView .customer-order-body > section {
  min-width: 0 !important;
  padding: 8px 10px !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

#customerWorkbenchView .customer-order-nos span,
#customerWorkbenchView .customer-order-service span,
#customerWorkbenchView .customer-progress-list {
  display: block !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#customerWorkbenchView .customer-chase-cell {
  display: grid !important;
  gap: 5px !important;
  align-content: start !important;
}

#customerWorkbenchView .customer-chase-cell form {
  margin: 0 !important;
}

#customerWorkbenchView .customer-chase-cell input[name] {
  height: 28px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
}

#customerWorkbenchView .customer-order-handover .handover-reason {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

#customerWorkbenchView .customer-order-handover .handover-reason + .handover-reason {
  margin-top: 4px !important;
}

#customerWorkbenchView .customer-order-handover .handover-reason.done span {
  color: #8996a8 !important;
  text-decoration: line-through !important;
}

#customerWorkbenchView .customer-order-handover .handover-reason small {
  grid-column: 1 / -1 !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}


/* customer-ledger2-v241: tighten consult ledger and customer process top layout. */
#customerWorkbenchView .cs2-page {
  width: min(100%, 1740px);
  margin: 0 auto;
  padding: 0 14px 28px;
  color: #172033;
}

#customerWorkbenchView .cs2-topbar,
#customerWorkbenchView .cs2-card {
  box-sizing: border-box;
  border: 1px solid #d9e4f2;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

#customerWorkbenchView .cs2-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  margin-bottom: 14px;
}

#customerWorkbenchView .cs2-topbar h3,
#customerWorkbenchView .cs2-card h3 {
  margin: 2px 0 0;
  font-size: 20px;
  line-height: 1.2;
  color: #172033;
}

#customerWorkbenchView .cs2-topbar p:not(.eyebrow) {
  margin: 8px 0 0;
  color: #607089;
}

#customerWorkbenchView .cs2-actions {
  display: grid;
  grid-template-columns: minmax(150px, 190px) auto;
  align-items: end;
  gap: 10px;
}

#customerWorkbenchView .cs2-actions label,
#customerWorkbenchView .cs2-form-grid label,
#customerWorkbenchView .cs2-mini-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #607089;
  font-size: 12px;
  font-weight: 700;
}

#customerWorkbenchView .cs2-page input,
#customerWorkbenchView .cs2-page select,
#customerWorkbenchView .cs2-page textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 1px solid #cddbed;
  border-radius: 6px;
  background: #fbfdff;
  color: #172033;
  font-size: 14px;
}

#customerWorkbenchView .cs2-page input,
#customerWorkbenchView .cs2-page select {
  height: 34px;
  padding: 5px 9px;
}

#customerWorkbenchView .cs2-page textarea {
  padding: 8px 9px;
  resize: vertical;
}

#customerWorkbenchView .cs2-workspace {
  display: grid;
  grid-template-columns: 360px minmax(760px, 1fr);
  gap: 14px;
  align-items: start;
  overflow-x: auto;
}

#customerWorkbenchView .cs2-workspace-inner {
  display: contents;
}

#customerWorkbenchView .cs2-card {
  padding: 14px 12px;
}

#customerWorkbenchView .cs2-consult,
#customerWorkbenchView .cs2-process {
  height: 382px;
  overflow: hidden;
}

#customerWorkbenchView .cs2-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

#customerWorkbenchView .cs2-card-head .eyebrow {
  margin: 0;
  color: #65758c;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

#customerWorkbenchView .cs2-card-head h3 {
  font-size: 18px;
}

#customerWorkbenchView .cs2-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

#customerWorkbenchView .cs2-form-grid label:not(.half),
#customerWorkbenchView .cs2-form-grid label.wide {
  grid-column: 1 / -1;
}

#customerWorkbenchView .cs2-form-grid textarea {
  min-height: 64px;
}

#customerWorkbenchView .cs2-process {
  min-width: 760px;
  display: flex;
  flex-direction: column;
}

#customerWorkbenchView .cs2-process-head {
  display: grid;
  grid-template-columns: minmax(180px, auto) minmax(300px, 430px);
  align-items: end;
}

#customerWorkbenchView .cs2-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
}

#customerWorkbenchView .cs2-customer-info {
  min-height: 96px;
  margin: 0 0 12px;
  padding: 9px 10px;
  border: 1px solid #ebcfd1;
  border-radius: 6px;
  background: #f3d2d4;
}

#customerWorkbenchView .cs2-empty-line {
  color: #738197;
  font-size: 13px;
  line-height: 34px;
}

#customerWorkbenchView .cs2-info-lines {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, auto));
  gap: 6px;
  font-size: 13px;
  line-height: 1.45;
}

#customerWorkbenchView .cs2-info-lines.is-empty .cs2-info-item i {
  color: #9aa7b8;
  font-weight: 600;
}

#customerWorkbenchView .cs2-info-row {
  display: flex;
  align-items: baseline;
  gap: 8px 18px;
  min-width: 0;
}

#customerWorkbenchView .cs2-info-row.row-1 {
  display: grid;
  grid-template-columns: .58fr .86fr .58fr 1fr .78fr .92fr 1.25fr;
  gap: 8px 14px;
}

#customerWorkbenchView .cs2-info-row.row-2,
#customerWorkbenchView .cs2-info-row.row-3 {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

#customerWorkbenchView .cs2-info-item {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  min-width: 0;
  white-space: nowrap;
}

#customerWorkbenchView .cs2-info-item b {
  flex: 0 0 auto;
  color: #5a5360;
  font-weight: 800;
}

#customerWorkbenchView .cs2-info-item i {
  min-width: 0;
  color: #16263a;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

#customerWorkbenchView .cs2-badge,
#customerWorkbenchView .cs2-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  margin-left: 5px;
  border-radius: 6px;
  font-size: 11px;
  font-style: normal;
  line-height: 1;
  vertical-align: 1px;
}

#customerWorkbenchView .cs2-badge.repurchase,
#customerWorkbenchView .cs2-tag.repurchase {
  color: #8a4b00;
  background: #fff1bf;
}

#customerWorkbenchView .cs2-badge.quality,
#customerWorkbenchView .cs2-tag.quality {
  color: #0f5c6b;
  background: #cffafe;
}

#customerWorkbenchView .cs2-process-forms {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(380px, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  border: 1px solid #e1e8f2;
  border-radius: 8px;
  overflow: hidden;
}

#customerWorkbenchView .cs2-mini-form {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 9px 12px 10px;
  border-right: 1px solid #e1e8f2;
}

#customerWorkbenchView .cs2-mini-form:last-child {
  border-right: 0;
}

#customerWorkbenchView .cs2-mini-form strong {
  text-align: center;
  color: #172033;
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: 2px;
}

#customerWorkbenchView .cs2-mini-form label {
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

#customerWorkbenchView .cs2-mini-form label span {
  white-space: nowrap;
}

#customerWorkbenchView .cs2-mini-form input,
#customerWorkbenchView .cs2-mini-form select {
  height: 28px;
}

#customerWorkbenchView .cs2-mini-form button {
  min-height: 28px;
}

#customerWorkbenchView .cs2-after-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  width: 100%;
}

#customerWorkbenchView .cs2-after-pair label {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

#customerWorkbenchView .cs2-after-pair label span {
  white-space: nowrap;
}

#customerWorkbenchView .cs2-lower {
  margin-top: 14px;
}

#customerWorkbenchView .cs2-list-head {
  display: grid;
  grid-template-columns: auto minmax(920px, 1fr);
  align-items: end;
}

#customerWorkbenchView .cs2-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

#customerWorkbenchView .cs2-filter-bar .search {
  flex: 1 1 300px;
  min-width: 280px;
  max-width: 360px;
}

#customerWorkbenchView .cs2-filter-bar button,
#customerWorkbenchView .cs2-chase-filter,
#customerWorkbenchView .cs2-chase-filter label {
  flex: 0 0 auto;
  white-space: nowrap;
}

#customerWorkbenchView .cs2-filter-bar button.active {
  color: #075985;
  border-color: #7dd3fc;
  background: #e0f2fe;
}

#customerWorkbenchView .cs2-chase-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#customerWorkbenchView .cs2-chase-filter label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}

#customerWorkbenchView .cs2-chase-filter input {
  width: 58px;
}

#customerWorkbenchView .cs2-ledger {
  width: 100%;
  overflow-x: auto;
}

#customerWorkbenchView .cs2-table {
  min-width: 1360px;
}

#customerWorkbenchView .cs2-columns,
#customerWorkbenchView .cs2-row-grid {
  display: grid;
  grid-template-columns: 1.15fr 1.6fr .8fr 1.35fr 1fr 1.5fr 1.55fr 1.55fr;
}

#customerWorkbenchView .cs2-columns {
  margin-top: 4px;
  border-radius: 8px;
  background: #f1f5f9;
  color: #27364a;
  font-size: 12px;
  font-weight: 800;
}

#customerWorkbenchView .cs2-columns span,
#customerWorkbenchView .cs2-row-grid section {
  padding: 9px 10px;
  border-right: 1px solid #e4ebf4;
}

#customerWorkbenchView .cs2-columns span:last-child,
#customerWorkbenchView .cs2-row-grid section:last-child {
  border-right: 0;
}

#customerWorkbenchView .cs2-row {
  margin-top: 8px;
  border: 1px solid #d8e2ef;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

#customerWorkbenchView .cs2-row-head {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 38px;
  padding: 7px 10px;
  background: #eef4ff;
  color: #172033;
  font-size: 13px;
}

#customerWorkbenchView .cs2-row-head strong,
#customerWorkbenchView .cs2-row-head b {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

#customerWorkbenchView .cs2-row-grid section {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  min-height: 76px;
  color: #25364b;
  font-size: 12px;
  line-height: 1.45;
}

#customerWorkbenchView .cs2-row-grid section span,
#customerWorkbenchView .cs2-row-grid section small {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

#customerWorkbenchView .cs2-status {
  color: #e11d48;
  font-weight: 800;
}

#customerWorkbenchView .cs2-handover-list,
#customerWorkbenchView .cs2-handover {
  display: grid;
  gap: 5px;
}

#customerWorkbenchView .cs2-handover.done span {
  color: #94a3b8;
  text-decoration: line-through;
}

#customerWorkbenchView .cs2-handover small {
  color: #64748b;
  font-size: 11px;
}

#customerWorkbenchView .cs2-handover button {
  width: max-content;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
}

#customerWorkbenchView .cs2-row-grid section.editable form {
  display: grid;
  margin-top: 2px;
}

#customerWorkbenchView .cs2-row-grid section.editable input[name] {
  height: 26px;
  padding: 2px 2px 3px;
  border: 0;
  border-bottom: 1px solid #b8c7da;
  border-radius: 0;
  background: transparent;
  font-size: 12px;
  pointer-events: auto;
}

#customerWorkbenchView .cs2-row-grid section.editable input[name]:focus {
  outline: none;
  border-bottom-color: #2f78ee;
  box-shadow: 0 1px 0 #2f78ee;
}

@media (max-width: 1200px) {
  #customerWorkbenchView .cs2-workspace,
  #customerWorkbenchView .cs2-process-head,
  #customerWorkbenchView .cs2-process-forms,
  #customerWorkbenchView .cs2-list-head {
    grid-template-columns: 1fr;
  }

  #customerWorkbenchView .cs2-process {
    min-width: 0;
  }

  #customerWorkbenchView .cs2-mini-form {
    border-right: 0;
    border-bottom: 1px solid #e1e8f2;
  }

  #customerWorkbenchView .cs2-mini-form:last-child {
    border-bottom: 0;
  }
}

/* customer-ledger2-v245: process actions compact, neutral, and form controls always interactive. */
#customerWorkbenchView .cs2-workspace {
  align-items: stretch !important;
}

#customerWorkbenchView .cs2-consult,
#customerWorkbenchView .cs2-process {
  height: auto !important;
  min-height: 430px !important;
  max-height: none !important;
  overflow: visible !important;
}

#customerWorkbenchView .cs2-form-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
}

#customerWorkbenchView .cs2-form-grid label:not(.half),
#customerWorkbenchView .cs2-form-grid label.wide {
  grid-column: 1 / -1 !important;
}

#customerWorkbenchView .cs2-form-grid textarea {
  min-height: 64px !important;
  max-height: 84px !important;
}

#customerWorkbenchView .cs2-customer-info {
  min-height: 96px !important;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 9px 10px !important;
  border: 1px solid #d9e1ea !important;
  border-radius: 6px !important;
  background: #f3f5f7 !important;
  overflow: visible !important;
}

#customerWorkbenchView .cs2-info-lines {
  display: grid !important;
  grid-template-rows: repeat(3, minmax(0, auto)) !important;
  gap: 6px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#customerWorkbenchView .cs2-info-row.row-1 {
  display: grid !important;
  grid-template-columns: .58fr .86fr .58fr 1fr .78fr .92fr 1.25fr !important;
  gap: 8px 14px !important;
}

#customerWorkbenchView .cs2-info-row.row-2,
#customerWorkbenchView .cs2-info-row.row-3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) !important;
  gap: 8px 18px !important;
}

#customerWorkbenchView .cs2-info-item {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 3px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

#customerWorkbenchView .cs2-info-item b {
  flex: 0 0 auto !important;
  color: #5a5360 !important;
  font-weight: 800 !important;
}

#customerWorkbenchView .cs2-info-item i {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #16263a !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

#customerWorkbenchView .cs2-process {
  display: flex !important;
  flex-direction: column !important;
}

#customerWorkbenchView .cs2-process-forms {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

#customerWorkbenchView .cs2-mini-form {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  align-content: stretch !important;
  grid-template-rows: auto 1fr 1fr auto !important;
  padding-bottom: 12px !important;
}

#customerWorkbenchView .cs2-mini-form label,
#customerWorkbenchView .cs2-mini-form input,
#customerWorkbenchView .cs2-mini-form select,
#customerWorkbenchView .cs2-mini-form textarea,
#customerWorkbenchView .cs2-form-grid label,
#customerWorkbenchView .cs2-form-grid input,
#customerWorkbenchView .cs2-form-grid select,
#customerWorkbenchView .cs2-form-grid textarea {
  pointer-events: auto !important;
}

#customerWorkbenchView .cs2-mini-form input,
#customerWorkbenchView .cs2-mini-form select,
#customerWorkbenchView .cs2-mini-form textarea,
#customerWorkbenchView .cs2-form-grid input,
#customerWorkbenchView .cs2-form-grid select,
#customerWorkbenchView .cs2-form-grid textarea {
  position: relative !important;
  z-index: 3 !important;
}

#customerWorkbenchView #customerReturnForm {
  grid-template-rows: auto 1fr 1fr 1fr auto !important;
}

#customerWorkbenchView .cs2-mini-form button,
#customerWorkbenchView #customerQualityButton {
  justify-self: center !important;
  align-self: end !important;
  width: 118px !important;
  min-width: 0 !important;
  max-width: 118px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 3px 12px !important;
  border: 1px solid #bfd0e3 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #1f3652 !important;
  box-shadow: none !important;
  filter: none !important;
}

#customerWorkbenchView .cs2-mini-form button::before,
#customerWorkbenchView .cs2-mini-form button::after,
#customerWorkbenchView #customerQualityButton::before,
#customerWorkbenchView #customerQualityButton::after {
  display: none !important;
  content: none !important;
}

#customerWorkbenchView #customerReturnForm .customer-quality-btn,
#customerWorkbenchView #customerQualityButton {
  margin-left: 8px !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  align-self: end !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 0 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  flex: 0 0 118px !important;
  width: 118px !important;
  margin: 0 !important;
}

/* v308: restore visible customer quality registration action. */
#customerWorkbenchView #customerQualityButton {
  flex-basis: 132px !important;
  width: 132px !important;
  max-width: 132px !important;
  color: #1f3652 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-indent: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* payroll-v246: cleaner payroll calculation toolbar and neutral actions. */
#payrollView .toolbar {
  display: flex !important;
  align-items: end !important;
  gap: 8px !important;
  padding: 12px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

#payrollView .month-box {
  min-width: 150px !important;
}

#payrollView .month-box span {
  color: #52647a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

#payrollView .toolbar button {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid #c9d8e8 !important;
  border-radius: 7px !important;
  background: #f8fbff !important;
  color: #1f3652 !important;
  box-shadow: none !important;
  filter: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#payrollView .toolbar button.primary {
  border-color: #98b7dc !important;
  background: #edf5ff !important;
  color: #174b82 !important;
}

#payrollView .toolbar button.secondary {
  background: #ffffff !important;
  color: #29425f !important;
}

#payrollView .toolbar button:hover {
  border-color: #86add8 !important;
  background: #eef6ff !important;
  color: #123a64 !important;
  box-shadow: none !important;
}

#payrollView .toolbar button::before,
#payrollView .toolbar button::after {
  display: none !important;
  content: none !important;
}

#payrollView .payroll-search {
  height: 34px !important;
  max-width: 280px !important;
  margin-left: auto !important;
  border-radius: 7px !important;
}

/* roster-status-v247: reflect HR changes in active roster display. */
.active-roster-table tbody tr.is-stopped {
  background: #fff7ed !important;
}

.active-roster-table tbody tr.is-left {
  background: #f1f5f9 !important;
  color: #64748b !important;
}

.active-roster-table tbody tr.is-stopped td:first-child {
  color: #b45309 !important;
  font-weight: 800 !important;
}

.active-roster-table tbody tr.is-left td:first-child {
  color: #64748b !important;
  font-weight: 800 !important;
}

/* decision-multi-user-v263: compact project filter, personal profile, isolated avatars. */
.command-user-chip {
  border: 0;
  cursor: pointer;
}

.profile-panel {
  right: 24px;
  left: auto;
  width: min(360px, calc(100vw - 48px));
}

.profile-form {
  display: grid;
  gap: 12px;
}

.profile-form label {
  display: grid;
  gap: 6px;
  color: #52627a;
  font-size: 13px;
  font-weight: 800;
}

.profile-form input {
  height: 40px;
  border: 1px solid #cddbeb;
  border-radius: 8px;
  padding: 0 12px;
  color: #172235;
}

.decision-project-head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.decision-project-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 180px !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: #172235 !important;
  box-shadow: none !important;
  text-align: left !important;
  filter: none !important;
}

.decision-project-title:hover,
.decision-project-title:focus {
  background: transparent !important;
  background-image: none !important;
  color: #172235 !important;
  box-shadow: none !important;
}

.decision-project-title span {
  width: 20px !important;
  height: 20px !important;
  border-radius: 6px !important;
  background: #eef5ff !important;
  color: #24527a !important;
  display: inline-grid !important;
  place-items: center !important;
  font-weight: 900 !important;
}

.decision-project-title strong {
  color: #172235 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.decision-project-all {
  height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #bfd1e5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  background-image: none !important;
  color: #24527a !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  filter: none !important;
}

.decision-project-all:hover,
.decision-project-all:focus {
  background: #eef6ff !important;
  color: #17446c !important;
  box-shadow: none !important;
}

/* v274: decision table personal filter moved to compact right toolbar. */
.decision-table-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: -4px 0 8px;
}

.decision-filter-toggle,
#toggleMyDecisionTasks.decision-filter-toggle {
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #c9d7e8 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #39536f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
  box-shadow: none !important;
}

.decision-filter-toggle:hover,
#toggleMyDecisionTasks.decision-filter-toggle:hover {
  background: #f4f8fd !important;
  border-color: #9fbce0 !important;
}

.decision-filter-toggle.active,
#toggleMyDecisionTasks.decision-filter-toggle.active {
  background: #eaf3ff !important;
  border-color: #8db9f2 !important;
  color: #1f5ca8 !important;
  box-shadow: none !important;
}

.decision-filter-note {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin: 0 0 8px;
  padding: 0 10px;
  border: 1px solid #d7e6f7;
  border-radius: 6px;
  background: #f7fbff;
  color: #355372;
  font-size: 12px;
  font-weight: 700;
}

.decision-empty-row {
  height: 54px;
  color: #7a8797;
  text-align: center;
}

.decision-completion-note {
  display: block;
  margin-top: 4px;
  color: #2d7a54;
  font-weight: 700;
  line-height: 1.4;
}

/* force-permission-hide-v270: desktop client CSS overrides must not revive hidden nav entries. */
#appView [data-permission-hidden="1"],
#appView #nav [data-permission-hidden="1"],
#dashboardView [data-permission-hidden="1"] {
  display: none !important;
}

/* compact-permission-nav-v271: pack visible permission entries without blank gaps. */
#appView.permission-compact-nav .sidebar #nav {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  overflow: visible !important;
}

#appView.permission-compact-nav .sidebar #logoutBtn {
  margin-top: auto !important;
}

#appView.permission-compact-nav #nav .nav-section,
#appView.permission-compact-nav #nav .nav-subsection {
  margin: 0 !important;
  gap: 2px !important;
}

#appView.permission-compact-nav #nav .nav-children {
  margin: 2px 0 6px 22px !important;
  padding: 0 0 0 10px !important;
}

#appView.permission-compact-nav #nav .nav-grandchildren {
  margin: 0 0 4px 8px !important;
  padding: 0 0 0 10px !important;
}

#appView.permission-compact-nav #nav .nav-section-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle {
  min-height: 36px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

#appView.permission-compact-nav #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-children > button {
  min-height: 30px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* v277: contain dashboard text so decisions, notices and todo center cannot overflow the home page. */
#appView .command-notice {
  min-width: 0 !important;
  overflow: hidden !important;
}

#appView .command-notice b,
#appView .command-notice span {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-gantt-body {
  min-width: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-gantt-row {
  grid-template-columns: minmax(210px, 30%) minmax(0, 70%) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-gantt-name {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-gantt-name b,
#dashboardView.home2-dashboard .home2-gantt-name small {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  min-width: 0 !important;
  overflow: hidden !important;
}

.todo-center-row-v276 {
  min-width: 0 !important;
  overflow: hidden !important;
}

.todo-center-row-v276 strong,
.todo-center-row-v276 p,
.todo-center-row-v276 span {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.official-notice-card-v276 {
  width: min(640px, calc(100vw - 48px)) !important;
  max-height: min(78vh, 720px) !important;
  overflow: hidden !important;
}

.official-notice-card-v276 .home-notice-dialog-content {
  max-height: calc(78vh - 128px) !important;
  overflow-y: auto !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

/* v279: todo center jump arrow stays at the end of each row. */
.todo-center-list .home-todo-item.todo-center-row-v276 {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  column-gap: 12px !important;
}

.todo-center-row-v276 > span {
  grid-column: auto !important;
}

.todo-center-row-v276 .todo-jump-arrow-v220 {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f6feb !important;
  box-shadow: none !important;
  line-height: 28px !important;
  text-align: center !important;
}

/* v280: restore home dashboard cards after the emergency text containment patch. */
#dashboardView.home2-dashboard .home2-todo .home2-list {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 30px !important;
  height: calc(100% - 48px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-todo-page,
#dashboardView.home2-dashboard .home2-todo-page-v220 {
  display: grid !important;
  grid-template-rows: repeat(5, 58px) !important;
  gap: 8px !important;
  padding: 6px 2px 0 !important;
  align-content: start !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  align-items: center !important;
  min-height: 58px !important;
  height: 58px !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(213, 229, 246, .86) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .74) !important;
  box-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item span {
  min-width: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item b {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #22324a !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item small {
  display: block !important;
  margin-top: 4px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #607692 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item em {
  justify-self: end !important;
  align-self: center !important;
  min-width: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f6feb !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-align: right !important;
  box-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-todo-pager,
#dashboardView.home2-dashboard .home2-todo-pager-v220 {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  height: 30px !important;
  padding: 4px 0 0 !important;
  margin: 0 !important;
  transform: none !important;
}

#dashboardView.home2-dashboard .home2-gantt {
  padding: 24px !important;
}

#dashboardView.home2-dashboard .home2-gantt-body {
  display: grid !important;
  grid-template-rows: 52px minmax(0, 1fr) !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-gantt-head,
#dashboardView.home2-dashboard .home2-gantt-row {
  grid-template-columns: 300px minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-head {
  height: 52px !important;
  align-items: start !important;
  border-bottom: 1px solid #cfe1f5 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head > div {
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  height: 42px !important;
}

#dashboardView.home2-dashboard .home2-gantt-head span {
  display: grid !important;
  justify-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-head span b,
#dashboardView.home2-dashboard .home2-gantt-head span small {
  font-weight: 700 !important;
}

#dashboardView.home2-dashboard .home2-gantt-rows {
  display: grid !important;
  grid-template-rows: repeat(5, minmax(46px, 1fr)) !important;
  gap: 8px !important;
  padding-top: 12px !important;
}

#dashboardView.home2-dashboard .home2-gantt-row {
  min-height: 46px !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#dashboardView.home2-dashboard .home2-gantt-name {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 5px !important;
  padding: 2px 18px 2px 0 !important;
  text-align: left !important;
}

#dashboardView.home2-dashboard .home2-gantt-name b,
#dashboardView.home2-dashboard .home2-gantt-name small {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-gantt-name b {
  color: #22324a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#dashboardView.home2-dashboard .home2-gantt-name small {
  color: #607692 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  position: relative !important;
  height: 28px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background-color: transparent !important;
  background-image: linear-gradient(to right, rgba(190, 209, 232, .72) 1px, transparent 1px) !important;
  background-size: 10% 100% !important;
  border-radius: 0 !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar {
  top: 8px !important;
  height: 13px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

.home-notice-dialog-card.official-notice-card-v276 {
  width: 820px !important;
  height: 680px !important;
  max-width: calc(100vw - 72px) !important;
  max-height: calc(100vh - 64px) !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(25, 55, 95, .22) !important;
}

.official-notice-card-v276 > header {
  position: relative !important;
  display: block !important;
  height: 118px !important;
  margin: 0 !important;
  padding: 24px 76px 0 !important;
}

.official-notice-card-v276 > header > div {
  min-width: 0 !important;
}

.official-notice-card-v276 #homeNoticeDialogTitle {
  margin: 0 !important;
  color: #10213b !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.official-notice-card-v276 #homeNoticeDialogMeta {
  margin: 12px 0 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #d9e2ee !important;
  color: #6b7f98 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.official-notice-card-v276 [data-close-home-notice] {
  position: absolute !important;
  top: 20px !important;
  right: 26px !important;
  width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border: 1px solid #d5e3f2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #244362 !important;
  font-size: 16px !important;
  line-height: 34px !important;
  box-shadow: none !important;
}

.official-notice-card-v276 .home-notice-dialog-content {
  max-height: none !important;
  height: calc(100% - 118px) !important;
  padding: 6px 72px 52px !important;
  overflow-y: auto !important;
  color: #1f2937 !important;
  font-size: 16px !important;
  line-height: 2 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

/* v281: make the left navigation slimmer and reduce submenu indentation. */
#appView.app-shell,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)),
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell {
  display: flex !important;
  width: 100vw !important;
  min-width: 0 !important;
  max-width: 100vw !important;
}

#appView .sidebar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .sidebar {
  flex: 0 0 190px !important;
  width: 190px !important;
  min-width: 190px !important;
}

#appView.app-shell.sidebar-collapsed .sidebar,
#appView.app-shell.sidebar-collapsed:has(#dashboardView.workspace-home:not(.hidden)) .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed .sidebar {
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
}

#appView .brand {
  height: 72px !important;
  padding: 0 14px !important;
}

#appView .brand-logo-full {
  max-width: 92px !important;
}

#appView .sidebar-toggle {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
}

#appView #nav {
  padding: 12px 10px 10px !important;
  gap: 5px !important;
}

#appView #nav .nav-section-toggle,
#appView #nav .system-entry > button {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  font-size: 14px !important;
}

#appView #nav .nav-section-toggle span,
#appView #nav .system-entry > button span {
  gap: 10px !important;
}

#appView #nav .nav-subsection-toggle {
  height: 34px !important;
  min-height: 34px !important;
  padding-left: 28px !important;
  padding-right: 8px !important;
  font-size: 13px !important;
}

#appView #nav .nav-children {
  margin: 2px 0 6px !important;
  padding: 0 !important;
  gap: 2px !important;
}

#appView #nav .nav-grandchildren {
  margin: 0 0 5px !important;
  padding: 0 !important;
  gap: 2px !important;
}

#appView #nav .nav-children > button {
  height: 30px !important;
  min-height: 30px !important;
  padding-left: 38px !important;
  padding-right: 8px !important;
  font-size: 12.5px !important;
  text-align: left !important;
}

#appView #nav .nav-grandchildren button {
  height: 28px !important;
  min-height: 28px !important;
  padding-left: 46px !important;
  padding-right: 6px !important;
  font-size: 12px !important;
  text-align: left !important;
}

#appView #nav .nav-section,
#appView #nav .nav-subsection {
  margin: 0 !important;
}

#appView .sidebar #logoutBtn {
  width: calc(100% - 20px) !important;
  margin-left: 10px !important;
  margin-right: 10px !important;
}

/* v282: final compact sidebar override, stronger than old 220px rules. */
#appView.app-shell:not(.sidebar-collapsed),
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell:not(.sidebar-collapsed) {
  grid-template-columns: 176px minmax(0, 1fr) !important;
}

#appView.app-shell:not(.sidebar-collapsed) > .sidebar,
#appView.app-shell:not(.sidebar-collapsed):has(#dashboardView.workspace-home:not(.hidden)) > .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell:not(.sidebar-collapsed) > .sidebar {
  flex: 0 0 176px !important;
  width: 176px !important;
  min-width: 176px !important;
  max-width: 176px !important;
}

#appView.app-shell.sidebar-collapsed,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed {
  grid-template-columns: 64px minmax(0, 1fr) !important;
}

#appView.app-shell.sidebar-collapsed > .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed > .sidebar {
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}

#appView.app-shell > .content {
  flex: 1 1 calc(100vw - 176px) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 176px) !important;
}

#appView.app-shell.sidebar-collapsed > .content {
  flex-basis: calc(100vw - 64px) !important;
  max-width: calc(100vw - 64px) !important;
}

#appView #nav .nav-subsection-toggle {
  padding-left: 22px !important;
}

#appView #nav .nav-children > button {
  padding-left: 30px !important;
}

#appView #nav .nav-grandchildren button {
  padding-left: 36px !important;
}

#appView #nav .nav-section-toggle,
#appView #nav .system-entry > button {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* v283: compact scrollable nav, aligned decision groups, contained data-system tables. */
#appView .sidebar {
  overflow: hidden !important;
}

#appView .sidebar #nav,
#appView .sidebar nav {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  padding-left: 8px !important;
  padding-right: 10px !important;
}

#appView .sidebar #nav::-webkit-scrollbar,
#appView .sidebar nav::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

#appView #nav .nav-grandchildren {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

#appView #nav .nav-grandchildren button {
  justify-content: flex-start !important;
  padding-left: 28px !important;
  padding-right: 14px !important;
  text-align: left !important;
}

.decision-table-wrap {
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-width: 100% !important;
}

.decision-project-group {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.decision-project-body {
  overflow-x: auto !important;
  overflow-y: visible !important;
}

.decision-project-body table {
  width: 100% !important;
  min-width: 1200px !important;
  table-layout: fixed !important;
}

#dataSystemTable {
  overflow: auto !important;
  max-width: 100% !important;
}

#dataSystemTable .data-system-grid {
  width: max-content !important;
  min-width: 100% !important;
  table-layout: fixed !important;
}

#dataSystemTable .data-system-grid th,
#dataSystemTable .data-system-grid td {
  min-width: 116px !important;
  max-width: 180px !important;
  overflow: hidden !important;
}

#dataSystemTable .data-system-grid-store th,
#dataSystemTable .data-system-grid-store td {
  min-width: 128px !important;
  max-width: 170px !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance {
  table-layout: fixed !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance th,
#dataSystemTable .data-system-grid-monthlyPerformance td {
  min-width: 112px !important;
  max-width: 132px !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance th:nth-child(1),
#dataSystemTable .data-system-grid-monthlyPerformance td:nth-child(1) {
  min-width: 82px !important;
  max-width: 92px !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance th:nth-child(2),
#dataSystemTable .data-system-grid-monthlyPerformance td:nth-child(2) {
  min-width: 56px !important;
  max-width: 64px !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance th:nth-child(3),
#dataSystemTable .data-system-grid-monthlyPerformance td:nth-child(3) {
  min-width: 230px !important;
  max-width: 260px !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance th:nth-child(4),
#dataSystemTable .data-system-grid-monthlyPerformance td:nth-child(4) {
  min-width: 112px !important;
  max-width: 132px !important;
}

#dataSystemTable .data-system-grid-monthlyPerformance .data-system-th {
  white-space: nowrap !important;
}

#dataSystemTable .data-system-th,
#dataSystemTable .data-system-cell strong,
#dataSystemTable .data-system-cell small {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* v285: decision header actions, sticky decision title area, compact people pickers. */
#decisionTableView .decision-hero {
  align-items: center !important;
  gap: 18px !important;
}

#decisionTableView .decision-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 430px !important;
}

#decisionTableView .decision-export-month {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #cbd9ea;
  border-radius: 8px;
  background: #fff;
  color: #60748d;
  font-size: 12px;
  font-weight: 700;
}

/* growth-home-responsive-v882: final overrides after legacy homepage rules */
#appView .content > #dashboardView.home2-dashboard:not(.hidden){min-width:0!important;grid-template-rows:auto auto auto!important;gap:20px!important;padding:20px!important;overflow:hidden!important}
#dashboardView .home2-row{gap:20px!important}
#dashboardView .home2-row-top{grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr)!important;align-items:stretch!important}
#dashboardView .home2-row-work{grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important}
#dashboardView .home2-row-bottom{grid-template-columns:minmax(0,1fr) minmax(330px,420px)!important}
#dashboardView .home2-hero{display:grid!important;grid-template-columns:92px minmax(0,1fr) minmax(208px,270px)!important;align-items:center!important;gap:18px!important;height:auto!important;min-height:196px!important;padding:24px 26px!important}
#dashboardView .home2-greeting{min-width:0!important;height:auto!important}
#dashboardView .home2-greeting h1{font-size:clamp(24px,2vw,30px)!important;white-space:normal!important}
#dashboardView .growth-level-hero{position:relative!important;min-width:0!important;width:100%!important;max-width:270px!important}
#dashboardView .home2-gantt-head,#dashboardView .home2-gantt-row{grid-template-columns:minmax(150px,25%) minmax(0,1fr)!important}
@media(max-width:1180px){
  #appView .content > #dashboardView.home2-dashboard:not(.hidden){min-width:0!important;padding:16px!important;gap:16px!important}
  #dashboardView .home2-row{gap:16px!important}
  #dashboardView .home2-row-top{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important}
  #dashboardView .home2-row-work{grid-template-columns:minmax(260px,32%) minmax(0,1fr)!important}
  #dashboardView .home2-hero{display:grid!important;grid-template-columns:72px minmax(0,1fr) minmax(174px,230px)!important;gap:12px!important;height:auto!important;min-height:196px!important;padding:20px!important}
  #dashboardView .home2-gantt-head,#dashboardView .home2-gantt-row{grid-template-columns:minmax(105px,21%) minmax(0,1fr)!important}
  #dashboardView .home2-gantt-head>div{grid-template-columns:repeat(7,minmax(0,1fr))!important}
}
@media(max-width:920px){
  #dashboardView .home2-row-top,#dashboardView .home2-row-work,#dashboardView .home2-row-bottom{grid-template-columns:1fr!important}
  #dashboardView .home2-hero{grid-template-columns:72px minmax(0,1fr)!important}
  #dashboardView .growth-level-hero{grid-column:1/-1!important;max-width:none!important;border-left:0!important;border-top:1px solid rgba(74,137,202,.18)!important;padding:12px 0 0!important}
}

/* v889 FINAL EOF GEOMETRY - do not place responsive homepage rules after this block */
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .content,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .content{align-items:stretch!important;overflow-x:auto!important}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;grid-template-columns:390px minmax(480px,1fr) auto!important}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;padding:20px!important;gap:20px!important;overflow:visible!important}
#dashboardView.home2-dashboard .home2-row{width:100%!important;min-width:0!important;max-width:none!important;gap:20px!important}
#dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px minmax(690px,1fr)!important;column-gap:20px!important;align-items:stretch!important}
#dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-hero{grid-template-columns:92px minmax(0,1fr) 270px!important;width:100%!important;min-width:0!important;max-width:none!important;height:210px!important;min-height:210px!important;padding:24px 28px!important;gap:20px!important}
#dashboardView.home2-dashboard .growth-level-hero{grid-column:auto!important;width:270px!important;min-width:270px!important;max-width:270px!important;padding:10px 0 10px 18px!important;border-top:0!important}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
@media(max-width:1400px){
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;grid-template-columns:390px minmax(480px,1fr) auto!important}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;padding:20px!important;gap:20px!important;overflow:visible!important}
#dashboardView.home2-dashboard .home2-row{width:100%!important;min-width:0!important;max-width:none!important;gap:20px!important}
#dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px minmax(690px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-hero{grid-template-columns:92px minmax(0,1fr) 270px!important;width:100%!important;min-width:0!important;max-width:none!important;height:210px!important;min-height:210px!important;padding:24px 28px!important;gap:20px!important}
#dashboardView.home2-dashboard .growth-level-hero{grid-column:auto!important;width:270px!important;min-width:270px!important;max-width:270px!important;border-top:0!important;padding:10px 0 10px 18px!important}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
}

/* home-final-geometry-v888: final override after every legacy responsive block */
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .content,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .content{
  align-items:stretch!important;
  overflow-x:auto!important;
}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{
  width:max(1500px,100%)!important;
  min-width:1500px!important;
  max-width:none!important;
  grid-template-columns:390px minmax(480px,1fr) auto!important;
}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){
  width:max(1500px,100%)!important;
  min-width:1500px!important;
  max-width:none!important;
  padding:20px!important;
  gap:20px!important;
  overflow:visible!important;
}
#dashboardView.home2-dashboard .home2-row{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  gap:20px!important;
}
#dashboardView.home2-dashboard .home2-row-top{
  grid-template-columns:750px minmax(690px,1fr)!important;
  column-gap:20px!important;
  align-items:stretch!important;
}
#dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-hero{
  grid-template-columns:92px minmax(0,1fr) 270px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:210px!important;
  min-height:210px!important;
  padding:24px 28px!important;
  gap:20px!important;
}
#dashboardView.home2-dashboard .growth-level-hero{
  grid-column:auto!important;
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  padding:10px 0 10px 18px!important;
  border-top:0!important;
}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
@media(max-width:1400px){
  body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
  #appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;grid-template-columns:390px minmax(480px,1fr) auto!important}
  #appView .content>#dashboardView.home2-dashboard:not(.hidden){width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;padding:20px!important;gap:20px!important;overflow:visible!important}
  #dashboardView.home2-dashboard .home2-row{width:100%!important;min-width:0!important;max-width:none!important;gap:20px!important}
  #dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px minmax(690px,1fr)!important;column-gap:20px!important}
  #dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
  #dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
  #dashboardView.home2-dashboard .home2-hero{grid-template-columns:92px minmax(0,1fr) 270px!important;width:100%!important;min-width:0!important;max-width:none!important;height:210px!important;min-height:210px!important;padding:24px 28px!important;gap:20px!important}
  #dashboardView.home2-dashboard .growth-level-hero{grid-column:auto!important;width:270px!important;min-width:270px!important;max-width:270px!important;border-top:0!important;padding:10px 0 10px 18px!important}
  #dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
}

/* home-canvas-fill-v887: large screens fill the workspace; small screens keep the desktop canvas */
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{
  width:max(1500px,100%)!important;
  min-width:1500px!important;
  max-width:none!important;
}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){
  width:max(1500px,100%)!important;
  min-width:1500px!important;
  max-width:none!important;
}
#dashboardView.home2-dashboard .home2-row{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  gap:20px!important;
}
#dashboardView.home2-dashboard .home2-row-top{
  grid-template-columns:750px minmax(690px,1fr)!important;
  column-gap:20px!important;
}
#dashboardView.home2-dashboard .home2-row-work{
  grid-template-columns:360px minmax(1080px,1fr)!important;
  column-gap:20px!important;
}
#dashboardView.home2-dashboard .home2-row-bottom{
  grid-template-columns:minmax(1020px,1fr) 420px!important;
  column-gap:20px!important;
}
#dashboardView.home2-dashboard .home2-hero{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
@media(max-width:1400px){
  body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
  #appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important}
  #appView .content>#dashboardView.home2-dashboard:not(.hidden){width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important}
  #dashboardView.home2-dashboard .home2-row{width:100%!important;min-width:0!important;max-width:none!important;gap:20px!important}
  #dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px minmax(690px,1fr)!important;column-gap:20px!important}
  #dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
  #dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
  #dashboardView.home2-dashboard .home2-hero{width:100%!important;min-width:0!important;max-width:none!important}
}

/* home-fixed-desktop-v885: 首页与顶部命令栏保持桌面画布，小窗口仅横向滚动 */
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .content,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .content{
  align-items:flex-start!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable!important;
}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{
  width:1500px!important;
  min-width:1500px!important;
  max-width:1500px!important;
  grid-template-columns:390px minmax(480px,1fr) auto!important;
  gap:20px!important;
  padding:0 26px!important;
  box-sizing:border-box!important;
}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .command-search,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .command-search{
  width:390px!important;
  min-width:390px!important;
  max-width:390px!important;
}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .command-notice,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .command-notice{
  min-width:480px!important;
  white-space:nowrap!important;
}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .command-actions,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .command-actions{
  min-width:max-content!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .command-actions>*,
#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .command-actions>*{
  flex:0 0 auto!important;
  writing-mode:horizontal-tb!important;
  word-break:keep-all!important;
  white-space:nowrap!important;
}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){
  width:1500px!important;
  min-width:1500px!important;
  max-width:1500px!important;
  padding:20px!important;
  gap:20px!important;
  overflow:visible!important;
}
#dashboardView.home2-dashboard .home2-row{
  width:1460px!important;
  min-width:1460px!important;
  max-width:1460px!important;
  gap:20px!important;
}
#dashboardView.home2-dashboard .home2-row-top{
  grid-template-columns:750px 690px!important;
  align-items:stretch!important;
}
#dashboardView.home2-dashboard .home2-row-work{
  grid-template-columns:360px 1080px!important;
}
#dashboardView.home2-dashboard .home2-row-bottom{
  grid-template-columns:1020px 420px!important;
}
#dashboardView.home2-dashboard .home2-hero{
  grid-template-columns:92px 338px 270px!important;
  width:750px!important;
  min-width:750px!important;
  max-width:750px!important;
  height:210px!important;
  min-height:210px!important;
  padding:28px!important;
  gap:18px!important;
  box-sizing:border-box!important;
}
#dashboardView.home2-dashboard .home2-greeting h1{
  font-size:30px!important;
  white-space:nowrap!important;
}
#dashboardView.home2-dashboard .growth-level-hero{
  grid-column:auto!important;
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  padding:10px 0 10px 18px!important;
  border-top:0!important;
}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}

@media(max-width:1400px){
  body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,
  #appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{
    width:1500px!important;
    min-width:1500px!important;
    max-width:1500px!important;
    grid-template-columns:390px minmax(480px,1fr) auto!important;
  }
  #appView .content>#dashboardView.home2-dashboard:not(.hidden){width:1500px!important;min-width:1500px!important;max-width:1500px!important}
  #dashboardView.home2-dashboard .home2-row{width:1460px!important;min-width:1460px!important;max-width:1460px!important}
  #dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px 690px!important}
  #dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px 1080px!important}
  #dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:1020px 420px!important}
  #dashboardView.home2-dashboard .home2-hero{grid-template-columns:92px 338px 270px!important;width:750px!important;min-width:750px!important;max-width:750px!important;height:210px!important;min-height:210px!important;padding:24px 28px!important;gap:18px!important}
  #dashboardView.home2-dashboard .growth-level-hero{grid-column:auto!important;width:270px!important;min-width:270px!important;max-width:270px!important;border-top:0!important;padding:10px 0 10px 18px!important}
  #dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
}

/* home-fixed-canvas-v884: 首页保持桌面版比例，小窗口使用横向滚动查看 */
#appView .content:has(> #dashboardView.home2-dashboard:not(.hidden)){
  overflow-x:auto!important;
  overflow-y:auto!important;
}
#appView .content > #dashboardView.home2-dashboard:not(.hidden){
  width:max(1500px,100%)!important;
  min-width:1500px!important;
  max-width:none!important;
  box-sizing:border-box!important;
  padding:20px!important;
  gap:20px!important;
  overflow:visible!important;
}
#dashboardView.home2-dashboard .home2-row{
  width:100%!important;
  min-width:0!important;
  gap:20px!important;
}
#dashboardView.home2-dashboard .home2-row-top{
  grid-template-columns:minmax(0,57%) minmax(0,43%)!important;
}
#dashboardView.home2-dashboard .home2-row-work{
  grid-template-columns:360px minmax(0,1fr)!important;
}
#dashboardView.home2-dashboard .home2-row-bottom{
  grid-template-columns:minmax(0,1fr) 420px!important;
}
#dashboardView.home2-dashboard .home2-hero{
  grid-template-columns:92px minmax(0,1fr) 270px!important;
  min-height:210px!important;
  padding:24px 28px!important;
  gap:20px!important;
}
#dashboardView.home2-dashboard .home2-avatar{
  width:78px!important;
  height:78px!important;
}
#dashboardView.home2-dashboard .home2-greeting h1{
  font-size:30px!important;
  white-space:nowrap!important;
}
#dashboardView.home2-dashboard .growth-level-hero{
  grid-column:auto!important;
  width:270px!important;
  max-width:270px!important;
  padding:10px 0 10px 18px!important;
  border-top:0!important;
}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
#dashboardView.home2-dashboard .growth-level-hero>img{
  width:68px!important;
  height:68px!important;
  flex-basis:68px!important;
}
#dashboardView.home2-dashboard .home2-gantt-head,
#dashboardView.home2-dashboard .home2-gantt-row{
  grid-template-columns:minmax(150px,25%) minmax(0,1fr)!important;
}
#dashboardView.home2-dashboard .home2-gantt-head>div{
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
}

@media(max-width:1400px){
  #appView #dashboardView.home2-dashboard #home2DecisionGantt .home2-gantt-head,
  #appView #dashboardView.home2-dashboard #home2DecisionGantt .home2-gantt-row{grid-template-columns:105px minmax(0,1fr)!important}
  #appView #dashboardView.home2-dashboard #home2DecisionGantt .home2-gantt-head>div{grid-template-columns:repeat(7,minmax(0,1fr))!important}
}

#decisionTableView .decision-export-month input {
  width: 126px;
  height: 28px;
  padding: 0 5px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #24425f;
  font: inherit;
}

#decisionTableView .decision-actions button,
#decisionProjectsView .decision-actions button,
.decision-project-all {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1px solid #cbd9ea !important;
  background: #fff !important;
  color: #24425f !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 32px !important;
  box-shadow: none !important;
}

#decisionTableView .decision-actions .primary,
#decisionProjectsView .decision-actions .primary {
  border-color: #2f75e8 !important;
  background: #2f75e8 !important;
  color: #fff !important;
}

#decisionTableView .decision-actions button:hover,
#decisionProjectsView .decision-actions button:hover,
.decision-project-all:hover {
  border-color: #86aee0 !important;
  background: #f4f8ff !important;
}

#decisionTableView .decision-actions button.active {
  border-color: #8db9f2 !important;
  background: #eaf3ff !important;
  color: #1f5ca8 !important;
}

#decisionTableView .decision-actions .primary:hover,
#decisionProjectsView .decision-actions .primary:hover {
  background: #2567d4 !important;
}

#decisionTaskTable .decision-bulkbar,
#decisionTableView .decision-table-toolbar {
  display: none !important;
}

#decisionTaskTable .decision-project-body {
  max-height: 70vh !important;
}

#decisionTaskTable .decision-task-grid {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#decisionTaskTable .decision-task-grid thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 7 !important;
  background: #f5f8fc !important;
}

#decisionTaskTable .decision-task-grid th:nth-child(1),
#decisionTaskTable .decision-task-grid td:nth-child(1),
#decisionTaskTable .decision-task-grid th:nth-child(2),
#decisionTaskTable .decision-task-grid td:nth-child(2),
#decisionTaskTable .decision-task-grid .decision-content-th,
#decisionTaskTable .decision-task-grid .decision-content-td {
  position: sticky !important;
  background: #fff !important;
  box-shadow: 1px 0 0 #dfe8f2 !important;
}

#decisionTaskTable .decision-task-grid thead th:nth-child(1),
#decisionTaskTable .decision-task-grid thead th:nth-child(2),
#decisionTaskTable .decision-task-grid .decision-content-th {
  background: #f5f8fc !important;
}

#decisionTaskTable .decision-task-grid:not(.decision-task-grid-admin) th:nth-child(1),
#decisionTaskTable .decision-task-grid:not(.decision-task-grid-admin) td:nth-child(1) {
  left: 0 !important;
  z-index: 8 !important;
}

#decisionTaskTable .decision-task-grid:not(.decision-task-grid-admin) th:nth-child(2),
#decisionTaskTable .decision-task-grid:not(.decision-task-grid-admin) td:nth-child(2) {
  left: 92px !important;
  z-index: 8 !important;
}

#decisionTaskTable .decision-task-grid:not(.decision-task-grid-admin) .decision-content-th,
#decisionTaskTable .decision-task-grid:not(.decision-task-grid-admin) .decision-content-td {
  left: 232px !important;
  z-index: 9 !important;
}

#decisionTaskTable .decision-task-grid-admin th:nth-child(1),
#decisionTaskTable .decision-task-grid-admin td:nth-child(1) {
  left: 0 !important;
  z-index: 8 !important;
}

#decisionTaskTable .decision-task-grid-admin th:nth-child(2),
#decisionTaskTable .decision-task-grid-admin td:nth-child(2) {
  left: 42px !important;
  z-index: 8 !important;
}

#decisionTaskTable .decision-task-grid-admin th:nth-child(3),
#decisionTaskTable .decision-task-grid-admin td:nth-child(3) {
  left: 134px !important;
  z-index: 8 !important;
}

#decisionTaskTable .decision-task-grid-admin .decision-content-th,
#decisionTaskTable .decision-task-grid-admin .decision-content-td {
  left: 274px !important;
  z-index: 9 !important;
}

#decisionTaskTable .decision-task-grid .decision-content-th {
  z-index: 12 !important;
}

#decisionTaskTable .decision-task-grid thead th:nth-child(1),
#decisionTaskTable .decision-task-grid thead th:nth-child(2),
#decisionTaskTable .decision-task-grid-admin thead th:nth-child(3) {
  z-index: 21 !important;
}

#decisionTaskTable .decision-task-grid thead .decision-content-th {
  z-index: 22 !important;
}

.decision-people-search {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 0 8px !important;
  padding: 0 10px !important;
  border: 1px solid #d3dfec !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1f3045 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

#decisionExecutorChips,
.decision-people-options {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)) !important;
  gap: 6px !important;
  max-height: 156px !important;
  padding: 8px !important;
  overflow: auto !important;
  border: 1px solid #d8e3ee !important;
  border-radius: 8px !important;
  background: #f8fbfd !important;
  scrollbar-width: thin !important;
}

.decision-person-option,
.decision-people-options label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 4px 7px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.decision-person-option input,
.decision-people-options input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  accent-color: #2f75e8 !important;
}

.decision-person-option.hidden,
.decision-people-options label.hidden {
  display: none !important;
}

#decisionProjectTable .decision-people-picker {
  min-width: 220px !important;
  max-width: 280px !important;
}

/* v287: multimedia department embedded workspace. */
.multimedia-shell {
  display: grid;
  gap: 12px;
}

.multimedia-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 92px;
}

.multimedia-hero h3 {
  margin: 0;
  font-size: 24px;
}

.multimedia-hero p:not(.eyebrow) {
  margin: 6px 0 0;
  color: #5b6b80;
}

.multimedia-frame-panel {
  min-height: calc(100vh - 190px);
  border: 1px solid #d7e2ef;
  border-radius: 12px;
  overflow: hidden;
  background: #f7fbff;
  box-shadow: 0 14px 34px rgba(51, 83, 116, .08);
}

#multimediaWorkbenchFrame,
#multimediaTaskManagementFrame,
#recruitmentAIFrame {
  display: block;
  width: 100%;
  height: calc(100vh - 194px);
  min-height: 680px;
  border: 0;
  background: #eef3f8;
}

/* v354: operation data system embedded workspace. */
.operation-system-shell {
  display: grid;
  gap: 12px;
}

.operation-system-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 92px;
}

.operation-system-hero h3 {
  margin: 0;
  font-size: 24px;
}

.operation-system-hero p:not(.eyebrow) {
  margin: 6px 0 0;
  color: #5b6b80;
}

.operation-system-frame-panel {
  min-height: calc(100vh - 190px);
  border: 1px solid #d7e2ef;
  border-radius: 12px;
  overflow: hidden;
  background: #f7fbff;
  box-shadow: 0 14px 34px rgba(51, 83, 116, .08);
}

#operationSystemFrame {
  display: block;
  width: 100%;
  height: calc(100vh - 194px);
  min-height: 680px;
  border: 0;
  background: #eef3f8;
}

.new-product-inline-embed {
  border: 1px solid #d7e2ef;
  border-radius: 14px;
  overflow: hidden;
  background: #f7fbff;
  box-shadow: 0 14px 34px rgba(51, 83, 116, .08);
}

.new-product-inline-embed iframe {
  display: block;
  width: 100%;
  min-height: 860px;
  border: 0;
  background: #eef3f8;
}

.new-product-expense-workbench {
  display: grid;
  gap: 16px;
  padding: 14px 0 0;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  background: #fff;
}

.new-product-expense-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0 16px;
}

.new-product-expense-tabs button {
  padding: 10px 18px;
  border: 1px solid #c9d8ea;
  border-radius: 8px;
  background: #fff;
  color: #38506d;
  font-weight: 700;
  cursor: pointer;
}

.new-product-expense-tabs button.active {
  border-color: #d13d53;
  color: #d13d53;
  box-shadow: inset 0 -2px 0 rgba(209, 61, 83, .28);
}

.new-product-expense-panels {
  display: grid;
  gap: 14px;
  padding: 0 16px 16px;
}

.new-product-expense-panel {
  display: grid;
  gap: 12px;
}

.new-product-expense-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.new-product-expense-toolbar strong {
  display: block;
  color: #223246;
}

.new-product-expense-toolbar span {
  display: block;
  margin-top: 4px;
  color: #697b92;
  font-size: 13px;
}

.new-product-expense-table input {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #d4deea;
  border-radius: 10px;
  background: #fff;
  color: #223246;
}

.new-product-expense-table td {
  vertical-align: middle;
}

.new-product-expense-workbench .operation-store-section {
  display: grid;
  gap: 14px;
}

.new-product-expense-workbench .operation-product-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.new-product-expense-workbench table {
  border-collapse: collapse;
  table-layout: fixed;
  min-width: max-content;
}

.new-product-expense-workbench th,
.new-product-expense-workbench td {
  box-sizing: border-box;
  text-align: center !important;
  vertical-align: middle !important;
}

.new-product-expense-workbench .product-cell {
  min-width: 0;
}

.new-product-expense-workbench .product-cell strong {
  display: block;
  color: #21324a;
  font-weight: 800;
  text-align: center;
}

.new-product-expense-workbench .product-cell span {
  display: block;
  margin-top: 4px;
  color: #6a7d96;
  font-size: 12px;
  text-align: center;
}

.new-product-expense-workbench .number {
  text-align: center !important;
  white-space: nowrap;
}

.new-product-expense-channel-params {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d9e4f1;
  border-radius: 10px;
  background: #f8fbfe;
}

.new-product-expense-channel-params header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.new-product-expense-channel-params h5 {
  margin: 2px 0 0;
  color: #223246;
  font-size: 16px;
}

.new-product-expense-channel-params header span {
  color: #6a7d96;
  font-size: 12px;
}

.new-product-expense-channel-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.new-product-expense-channel-actions button {
  min-width: 72px;
}

.new-product-expense-channel-params header .new-product-expense-channel-editing {
  color: #c66a10;
}

.new-product-expense-channel-params header .new-product-expense-channel-lock-state {
  color: #168266;
}

.new-product-expense-channel-params header .new-product-expense-channel-available {
  color: #1d5fbf;
  font-weight: 700;
}

.new-product-expense-param-table th,
.new-product-expense-param-table td {
  min-width: 118px;
  padding: 8px;
}

.new-product-expense-param-table th:first-child {
  min-width: 132px;
  background: #f1f5fa;
  color: #38506d;
  font-weight: 800;
}

.new-product-expense-param-table input {
  box-sizing: border-box;
  width: 100%;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #d0ddec;
  border-radius: 6px;
  background: #fff;
  color: #223246;
  text-align: center;
}

.new-product-expense-param-table input:disabled {
  border-color: #dce5ef;
  background: #f1f5f9;
  color: #41536a;
  cursor: not-allowed;
  opacity: 1;
}

.new-product-expense-workbench .operation-competitor-promotion-table th:nth-child(1),
.new-product-expense-workbench .operation-competitor-promotion-table td:nth-child(1) {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 96px;
  min-width: 96px;
  background: #f6f9fd;
  box-shadow: 1px 0 0 #d9e3ef;
}

.new-product-expense-workbench .operation-competitor-promotion-table th:nth-child(2),
.new-product-expense-workbench .operation-competitor-promotion-table td:nth-child(2) {
  position: sticky;
  left: 96px;
  z-index: 3;
  width: 420px;
  min-width: 420px;
  background: #fff;
  box-shadow: 1px 0 0 #d9e3ef;
}

.new-product-expense-workbench .operation-competitor-promotion-table th:nth-child(1),
.new-product-expense-workbench .operation-competitor-promotion-table th:nth-child(2) {
  z-index: 5;
  background: #f4f7fb;
}

.new-product-expense-workbench .operation-competitor-promotion-table thead tr:nth-child(2) th {
  position: static;
  z-index: auto;
  width: auto;
  min-width: 112px;
  background: #f4f7fb;
  box-shadow: none;
}

.new-product-expense-workbench .operation-competitor-promotion-table tbody tr:nth-child(even) td:nth-child(1),
.new-product-expense-workbench .operation-competitor-promotion-table tbody tr:nth-child(even) td:nth-child(2) {
  background: #f8fbfe;
}

.new-product-expense-workbench .operation-competitor-promotion-table tbody tr[data-row-tone="alert"] td:nth-child(1),
.new-product-expense-workbench .operation-competitor-promotion-table tbody tr[data-row-tone="alert"] td:nth-child(2) {
  background: #fff2f4;
}

.new-product-expense-workbench .operation-product-link-empty {
  padding: 20px;
  text-align: center;
  color: #72819a;
}

.new-product-expense-head h4 {
  margin: 4px 0 0;
  color: #223246;
  font-size: 22px;
}

.new-product-expense-monitor-form {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) minmax(240px, 1.4fr) minmax(180px, 1fr) minmax(130px, .7fr) minmax(130px, .7fr);
  gap: 16px 14px;
  align-items: end;
}

.new-product-expense-monitor-editor {
  margin: 14px 0;
  padding: 16px;
  border: 1px solid #d9e3ef;
  border-radius: 8px;
  background: #f8fafc;
}

.new-product-expense-monitor-form-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.new-product-expense-monitor-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}

.new-product-expense-monitor-form label {
  display: grid;
  gap: 8px;
  color: #4f647f;
  font-weight: 700;
}

.new-product-expense-monitor-form label span {
  color: #536981;
}

.new-product-expense-monitor-form input,
.new-product-expense-monitor-form textarea {
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d4deea;
  border-radius: 10px;
  background: #fff;
  color: #223246;
}

.new-product-expense-monitor-form textarea {
  min-height: 64px;
  resize: vertical;
}

.new-product-expense-monitor-table td,
.new-product-expense-monitor-table th {
  vertical-align: middle;
}

.new-product-expense-monitor-table th:nth-child(1),
.new-product-expense-monitor-table td:nth-child(1) {
  min-width: 110px;
}

.new-product-expense-monitor-table th:nth-child(2),
.new-product-expense-monitor-table td:nth-child(2) {
  min-width: 220px;
}

.new-product-expense-monitor-table th:nth-child(3),
.new-product-expense-monitor-table td:nth-child(3) {
  min-width: 280px;
}

.new-product-expense-monitor-table th:nth-child(4),
.new-product-expense-monitor-table td:nth-child(4),
.new-product-expense-monitor-table th:nth-child(5),
.new-product-expense-monitor-table td:nth-child(5) {
  white-space: nowrap;
}

.new-product-expense-monitor-table input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #d7e2ef;
  border-radius: 6px;
  background: #fff;
  color: #223246;
  text-align: center;
}

.new-product-expense-inline-input {
  box-sizing: border-box;
  width: 100%;
  min-width: 92px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #d7e2ef;
  border-radius: 6px;
  background: #fff;
  color: #223246;
  text-align: center;
}

@media (max-width: 1080px) {
  .new-product-expense-monitor-form {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .new-product-expense-monitor-form {
    grid-template-columns: 1fr;
  }
}

.wecom-module-shell {
  display: grid;
  gap: 12px;
}

.wecom-module-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 92px;
}

.wecom-module-hero h3 {
  margin: 0;
  font-size: 24px;
}

.wecom-module-hero p:not(.eyebrow) {
  margin: 6px 0 0;
  color: #5b6b80;
}

.wecom-module-frame-panel {
  min-height: calc(100vh - 190px);
  border: 1px solid #d7e2ef;
  border-radius: 12px;
  overflow: hidden;
  background: #f7fbff;
  box-shadow: 0 14px 34px rgba(51, 83, 116, .08);
}

#wecomModuleFrame {
  display: block;
  width: 100%;
  height: calc(100vh - 194px);
  min-height: 680px;
  border: 0;
  background: #eef3f8;
}

/* v288: nudge nested navigation right and mark third-level entries. */
#appView #nav .nav-children {
  padding-left: 4px !important;
}

#appView #nav .nav-subsection-toggle {
  padding-left: 26px !important;
}

#appView #nav .nav-children > button {
  padding-left: 34px !important;
}

#appView #nav .nav-grandchildren {
  padding-left: 6px !important;
}

#appView #nav .nav-grandchildren button {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding-left: 32px !important;
  padding-right: 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#appView #nav .nav-grandchildren button::before {
  content: "·" !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: 8px !important;
  color: currentColor !important;
  font-weight: 900 !important;
  opacity: .78 !important;
}

#appView #nav .nav-grandchildren button.active::before {
  content: "·" !important;
  opacity: 1 !important;
}

/* v295: align sidebar levels for permission-filtered accounts. */
#appView #nav {
  --nav-level-text-x: 50px;
  --nav-third-dot-x: 38px;
}

#appView #nav .nav-section-toggle,
#appView #nav .system-entry > button {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

#appView #nav .nav-section-toggle span,
#appView #nav .system-entry > button span {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

#appView #nav .nav-section-toggle .oa-icon,
#appView #nav .system-entry > button .oa-icon {
  justify-self: center !important;
}

#appView #nav .nav-children,
#appView #nav .nav-grandchildren,
#appView.permission-compact-nav #nav .nav-children,
#appView.permission-compact-nav #nav .nav-grandchildren {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

#appView #nav .nav-children > button,
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-subsection-toggle {
  padding-left: var(--nav-level-text-x) !important;
  padding-right: 10px !important;
  text-align: left !important;
}

#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  padding-left: var(--nav-level-text-x) !important;
  padding-right: 10px !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#appView #nav .nav-grandchildren button::before,
#appView.permission-compact-nav #nav .nav-grandchildren button::before {
  content: "·" !important;
  position: absolute !important;
  left: var(--nav-third-dot-x) !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateY(-50%) !important;
  line-height: 10px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  opacity: .78 !important;
}

/* v296: restore enterprise bulletin Chinese UI and improve notice formatting. */
.enterprise-format-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
}

.enterprise-format-toolbar button {
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #d8e4f2 !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
  color: #315b91 !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

.enterprise-format-toolbar button:hover {
  background: #edf6ff !important;
  border-color: #bcd3ee !important;
}

.enterprise-redesign textarea {
  min-height: 118px !important;
  line-height: 1.7 !important;
}

.enterprise-history-main em {
  line-height: 1.5 !important;
}

.home-notice-dialog-content {
  display: grid !important;
  gap: 14px !important;
  white-space: normal !important;
}

.home-notice-dialog-content p {
  margin: 0 !important;
  color: #263952 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

.home-notice-dialog-content ul {
  margin: 0 !important;
  padding: 12px 16px 12px 34px !important;
  border-radius: 12px !important;
  background: #f7faff !important;
  color: #263952 !important;
}

.home-notice-dialog-content li {
  margin: 6px 0 !important;
  line-height: 1.8 !important;
}

.home-notice-dialog-content hr {
  width: 100% !important;
  height: 1px !important;
  border: 0 !important;
  background: #dce8f6 !important;
}

/* v297: enterprise history rows should not collapse into narrow chips. */
.enterprise-redesign .enterprise-history-list {
  min-height: 300px !important;
  align-content: start !important;
}

.enterprise-redesign .enterprise-history-item,
.enterprise-redesign .enterprise-history-item:has(.enterprise-popup-time) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 74px !important;
  padding: 14px 16px !important;
}

.enterprise-redesign .enterprise-history-main {
  width: 100% !important;
  min-width: 0 !important;
  gap: 5px !important;
}

.enterprise-redesign .enterprise-history-main strong {
  font-size: 15px !important;
}

.enterprise-redesign .enterprise-history-main em {
  max-width: 100% !important;
  color: #64748b !important;
  line-height: 1.55 !important;
}

.enterprise-history-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

.enterprise-history-actions .enterprise-history-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.enterprise-history-actions .enterprise-popup-time {
  width: 178px !important;
  min-height: 32px !important;
}

.enterprise-history-actions button {
  min-height: 32px !important;
  white-space: nowrap !important;
}

/* v299: readable HR change records. */
#hrRecords .hr-change-record {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
}

#hrRecords .hr-change-record-main {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

#hrRecords .hr-change-record-main strong,
#hrRecords .hr-change-record-main p,
#hrRecords .hr-change-record-main span {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

#hrRecords .hr-change-record-main p {
  margin: 0 !important;
  color: #334155 !important;
  line-height: 1.65 !important;
}

#hrRecords .hr-change-record-main span {
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

#hrRecords .hr-change-record.undone {
  background: #f8fafc !important;
  opacity: .78 !important;
}

/* v304: keep permission-filtered side navigation scrollable. */
#appView.permission-compact-nav .sidebar {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#appView.permission-compact-nav .sidebar #nav,
#appView.permission-compact-nav .sidebar nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 144px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -ms-overflow-style: auto !important;
  scrollbar-width: thin !important;
}

#appView.permission-compact-nav .sidebar #nav::-webkit-scrollbar,
#appView.permission-compact-nav .sidebar nav::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

/* v307: data-system base tables keep a readable header and proper horizontal layout. */
#dataSystemTable.data-system-table {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: calc(100vh - 285px) !important;
  overflow: auto !important;
  border: 1px solid #dbe6f2 !important;
  background: #fff !important;
}

#dataSystemTable.data-system-table .data-system-grid {
  width: max-content !important;
  min-width: 100% !important;
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#dataSystemTable.data-system-table .data-system-grid thead {
  display: table-header-group !important;
}

#dataSystemTable.data-system-table .data-system-grid th {
  position: sticky !important;
  top: 0 !important;
  z-index: 8 !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  background: #f3f6fa !important;
  color: #314158 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  border-bottom: 1px solid #dbe6f2 !important;
}

#dataSystemTable.data-system-table .data-system-grid td {
  min-width: 128px !important;
  max-width: 240px !important;
  height: 36px !important;
  padding: 9px 12px !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dataSystemTable.data-system-table .data-system-th {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dataSystemTable.data-system-table .data-system-cell {
  display: block !important;
  min-width: 0 !important;
}

#dataSystemTable.data-system-table .data-system-cell strong,
#dataSystemTable.data-system-table .data-system-cell small {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-store td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  z-index: 9 !important;
  min-width: 96px !important;
  max-width: 108px !important;
  background: inherit !important;
}

#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-store td:nth-child(2) {
  position: sticky !important;
  left: 96px !important;
  z-index: 9 !important;
  min-width: 220px !important;
  max-width: 240px !important;
  background: inherit !important;
}

#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(3),
#dataSystemTable.data-system-table .data-system-grid-store td:nth-child(3) {
  position: sticky !important;
  left: 316px !important;
  z-index: 9 !important;
  min-width: 140px !important;
  max-width: 160px !important;
  background: inherit !important;
  box-shadow: 8px 0 12px rgba(15, 23, 42, .08) !important;
}

#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(-n+3) {
  z-index: 12 !important;
  background: #f3f6fa !important;
}

#dataSystemTable.data-system-table .data-system-grid-store tbody tr:nth-child(even) td:nth-child(-n+3) {
  background: #f9fbfc !important;
}

#dataSystemTable.data-system-table .data-system-grid-store tbody tr:nth-child(odd) td:nth-child(-n+3) {
  background: #fff !important;
}

#dataSystemTable.data-system-table .data-system-grid-store tbody tr:hover td:nth-child(-n+3) {
  background: #fff3f5 !important;
}

/* v309: stop scrolled headers from showing underneath frozen data-system columns. */
#dataSystemTable.data-system-table .data-system-grid-project th:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-project td:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  z-index: 14 !important;
  min-width: 96px !important;
  max-width: 108px !important;
  background: #fff !important;
  background-clip: padding-box !important;
}

#dataSystemTable.data-system-table .data-system-grid-project th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-project td:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td:nth-child(2) {
  position: sticky !important;
  left: 96px !important;
  z-index: 14 !important;
  min-width: 160px !important;
  max-width: 190px !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 8px 0 12px rgba(15, 23, 42, .08) !important;
}

#dataSystemTable.data-system-table .data-system-grid-project th:nth-child(-n+2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th:nth-child(-n+2) {
  z-index: 18 !important;
  background: #f3f6fa !important;
}

#dataSystemTable.data-system-table .data-system-grid-project tbody tr:nth-child(even) td:nth-child(-n+2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance tbody tr:nth-child(even) td:nth-child(-n+2) {
  background: #f9fbfc !important;
}

#dataSystemTable.data-system-table .data-system-grid-project tbody tr:nth-child(odd) td:nth-child(-n+2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance tbody tr:nth-child(odd) td:nth-child(-n+2) {
  background: #fff !important;
}

#dataSystemTable.data-system-table .data-system-grid-project tbody tr:hover td:nth-child(-n+2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance tbody tr:hover td:nth-child(-n+2) {
  background: #fff3f5 !important;
}

#dataSystemTable.data-system-table .data-system-grid th {
  background-clip: padding-box !important;
}

/* v310: base-data grids use one clean horizontal table; only the header row is sticky. */
#dataSystemTable.data-system-table .data-system-grid-project th,
#dataSystemTable.data-system-table .data-system-grid-project td,
#dataSystemTable.data-system-table .data-system-grid-store th,
#dataSystemTable.data-system-table .data-system-grid-store td,
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th,
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td {
  left: auto !important;
  box-shadow: none !important;
}

#dataSystemTable.data-system-table .data-system-grid-project td,
#dataSystemTable.data-system-table .data-system-grid-store td,
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td {
  position: static !important;
  z-index: auto !important;
  background: #fff !important;
}

#dataSystemTable.data-system-table .data-system-grid-project th,
#dataSystemTable.data-system-table .data-system-grid-store th,
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: #f3f6fa !important;
}

#dataSystemTable.data-system-table .data-system-grid-project th:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-project td:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-store td:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th:nth-child(1),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td:nth-child(1) {
  min-width: 96px !important;
  max-width: 112px !important;
}

#dataSystemTable.data-system-table .data-system-grid-project th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-project td:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-store td:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td:nth-child(2) {
  min-width: 150px !important;
  max-width: 220px !important;
}

#dataSystemTable.data-system-table .data-system-grid-store th:nth-child(3),
#dataSystemTable.data-system-table .data-system-grid-store td:nth-child(3),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance th:nth-child(3),
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance td:nth-child(3) {
  min-width: 150px !important;
  max-width: 240px !important;
}

#dataSystemTable.data-system-table .data-system-grid-project tbody tr:nth-child(even) td,
#dataSystemTable.data-system-table .data-system-grid-store tbody tr:nth-child(even) td,
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance tbody tr:nth-child(even) td {
  background: #f9fbfc !important;
}

#dataSystemTable.data-system-table .data-system-grid-project tbody tr:hover td,
#dataSystemTable.data-system-table .data-system-grid-store tbody tr:hover td,
#dataSystemTable.data-system-table .data-system-grid-monthlyPerformance tbody tr:hover td {
  background: #fff3f5 !important;
}

/* v311: quality 2.0 after-sales cards and clean base-data table headers. */
.modal-x-btn {
  width: 34px;
  height: 34px;
  border: 1px solid #d6e3f2;
  border-radius: 8px;
  background: #fff;
  color: #53647a;
  font-size: 26px;
  line-height: 28px;
  cursor: pointer;
}

.modal-x-btn:hover {
  color: #0f172a;
  background: #f3f7fb;
}

.quality-after-card {
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}

.quality-after-card + .quality-after-card {
  margin-top: 12px;
}

.quality-after-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  background: #eef5ff;
  color: #20304a;
}

.quality-after-card header label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.quality-after-card header input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.quality-problem-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 6px;
  border-radius: 50%;
  background: #e53956;
  color: #fff;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.quality-after-grid {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(180px, 1fr) minmax(260px, 1.6fr) minmax(140px, .8fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(220px, 1.2fr);
}

.quality-after-grid section {
  min-height: 94px;
  padding: 14px 16px;
  border-top: 1px solid #e5edf6;
  border-right: 1px solid #e5edf6;
}

.quality-after-grid section:last-child {
  border-right: 0;
}

.quality-after-grid b {
  display: block;
  margin-bottom: 8px;
  color: #66758c;
  font-size: 12px;
}

.quality-after-grid p {
  margin: 0;
  color: #1f2937;
  white-space: pre-wrap;
  word-break: break-word;
}

#dataSystemTable.data-system-table {
  overflow: auto !important;
}

#dataSystemTable.data-system-table .data-system-grid {
  width: max-content !important;
  min-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
}

#dataSystemTable.data-system-table .data-system-grid th,
#dataSystemTable.data-system-table .data-system-grid td {
  position: static !important;
  left: auto !important;
  min-width: 132px !important;
  max-width: 260px !important;
  padding: 13px 14px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-shadow: none !important;
}

#dataSystemTable.data-system-table .data-system-grid th {
  position: sticky !important;
  top: 0 !important;
  z-index: 25 !important;
  height: 42px !important;
  background: #f3f6fa !important;
  vertical-align: middle !important;
}

#dataSystemTable.data-system-table .data-system-grid th:first-child,
#dataSystemTable.data-system-table .data-system-grid td:first-child {
  min-width: 132px !important;
}

#dataSystemTable.data-system-table .data-system-grid th:nth-child(2),
#dataSystemTable.data-system-table .data-system-grid td:nth-child(2) {
  min-width: 220px !important;
}

#dataSystemTable.data-system-table .data-system-grid th:nth-child(3),
#dataSystemTable.data-system-table .data-system-grid td:nth-child(3) {
  min-width: 180px !important;
}

#dataSystemTable.data-system-table .data-system-th {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
  color: #304158 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

#dataSystemTable.data-system-table .data-system-th .data-system-sort {
  flex: 0 0 auto !important;
}

@media (max-width: 1100px) {
  .quality-after-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

/* v312: quality verification workflow cards. */
.quality-verify-card {
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}

.quality-verify-card + .quality-verify-card {
  margin-top: 12px;
}

.quality-verify-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  background: #eef5ff;
  color: #20304a;
}

.quality-verify-card header label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.quality-verify-card header input {
  width: 18px;
  height: 18px;
}

.quality-verify-badge {
  display: inline-flex;
  align-items: center;
  height: 22px;
  margin-left: 8px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.quality-verify-badge.pending {
  background: #fff4d6;
  color: #9a5b00;
}

.quality-verify-badge.solved {
  background: #dcfce7;
  color: #16713a;
}

.quality-verify-badge.rejected {
  background: #ffe3e8;
  color: #b4233c;
}

.quality-verify-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 0;
}

.quality-verify-form > label,
.quality-verify-readonly {
  min-height: 118px;
  padding: 14px 16px;
  border-top: 1px solid #e5edf6;
  border-right: 1px solid #e5edf6;
}

.quality-verify-readonly {
  background: #f6f8fb;
  color: #59677b;
}

.quality-verify-readonly b,
.quality-verify-form label span {
  display: block;
  margin-bottom: 8px;
  color: #66758c;
  font-size: 12px;
  font-weight: 800;
}

.quality-verify-readonly p {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.quality-verify-form textarea,
.quality-verify-form input,
.quality-verify-form select {
  width: 100%;
  border: 1px solid #d6e3f2;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
}

.quality-verify-form textarea {
  resize: vertical;
  min-height: 78px;
}

.quality-verify-feedback textarea[readonly] {
  background: #f8fafc;
  color: #475569;
}

.quality-verify-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  padding: 14px 16px;
  border-top: 1px solid #e5edf6;
  background: #fbfdff;
}

@media (max-width: 1280px) {
  .quality-verify-form {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

/* v313: after-sales desk sits under customer service and uses ledger attachments as source. */
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row label {
  display: grid;
  grid-template-columns: auto 34px;
  align-items: center;
  min-width: 0;
  gap: 8px;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  cursor: pointer;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  margin: 0;
  color: #52637a;
  font-size: 13px;
  font-weight: 700;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px dashed #9bb8dc;
  border-radius: 8px;
  background: #f8fbff;
  color: #2f6fd6;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:hover > b {
  border-color: #2f6fd6;
  background: #eef5ff;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  align-items: stretch;
}

#customerWorkbenchView #customerQualityButton {
  border-color: #8b5cf6 !important;
  background: #f3edff !important;
  color: #6335c8 !important;
  font-weight: 800 !important;
}

.quality-modal-card .quality-form-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.quality-modal-card .quality-register-form {
  gap: 16px;
}

@media (max-width: 760px) {
  #customerWorkbenchView #customerReturnForm .cs2-after-upload-row,
  .quality-modal-card .quality-form-grid {
    grid-template-columns: 1fr;
  }
}

/* v315: compact customer process forms and inline after-sales upload buttons. */
#customerWorkbenchView .cs2-process-forms {
  align-items: stretch !important;
}

#customerWorkbenchView .cs2-mini-form {
  gap: 8px !important;
  padding: 12px 12px !important;
}

#customerWorkbenchView .cs2-mini-form strong {
  margin-bottom: 4px !important;
  line-height: 1.2 !important;
}

#customerWorkbenchView .cs2-mini-form label {
  min-height: 34px !important;
  gap: 8px !important;
}

#customerWorkbenchView .cs2-mini-form label span {
  min-width: 44px !important;
  margin: 0 !important;
  line-height: 34px !important;
}

#customerWorkbenchView .cs2-mini-form input,
#customerWorkbenchView .cs2-mini-form select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 6px 10px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, max-content) !important;
  justify-content: start;
  align-items: center;
  gap: 14px !important;
  min-height: 34px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  min-width: auto !important;
  line-height: 34px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  font-size: 20px !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  margin-top: 2px !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  min-height: 30px !important;
  height: 30px !important;
}

/* v316: balanced after-sales form columns and clickable attachment links. */
#customerWorkbenchView #customerReturnForm {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 12px !important;
  row-gap: 8px !important;
}

#customerWorkbenchView #customerReturnForm > strong,
#customerWorkbenchView #customerReturnForm > input[type="hidden"],
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-column: 1 / -1;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair label,
#customerWorkbenchView #customerReturnForm > label {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
}

#customerWorkbenchView #customerReturnForm > label span,
#customerWorkbenchView #customerReturnForm .cs2-after-pair label span {
  min-width: 64px !important;
}

#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) {
  grid-column: 1 / -1;
  grid-template-columns: 64px minmax(180px, .72fr) minmax(70px, .28fr) !important;
}

#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) input {
  max-width: 100% !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  gap: 12px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  display: grid !important;
  grid-template-columns: 64px 30px !important;
  justify-content: start !important;
}

.customer-attachment-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.customer-attachment-links a,
.customer-attachment-links span {
  display: inline-flex;
  align-items: center;
  max-width: 120px;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid #cfe0f4;
  border-radius: 999px;
  background: #f7fbff;
  color: #2563c9;
  font-size: 12px;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-attachment-links a:hover {
  border-color: #2f6fd6;
  background: #edf5ff;
}

/* v318: keep after-sales upload title and plus button in one row. */
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  display: grid !important;
  grid-template-columns: max-content 30px !important;
  grid-auto-flow: column !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: 8px !important;
  width: max-content !important;
  min-width: 0 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  width: auto !important;
  line-height: 30px !important;
  white-space: nowrap !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}

/* v328: own-warehouse shipment mark in customer desk. */
#customerWorkbenchView #customerDealForm .cs2-deal-inline {
  display: grid !important;
  grid-template-columns: minmax(120px, .7fr) max-content !important;
  align-items: end !important;
  gap: 8px !important;
}

#customerWorkbenchView #customerDealForm .cs2-deal-inline label {
  min-width: 0 !important;
}

#customerWorkbenchView #customerDealForm .cs2-own-warehouse-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid #cfe0f4 !important;
  border-radius: 8px !important;
  background: #f7fbff !important;
  color: #234466 !important;
  white-space: nowrap !important;
}

#customerWorkbenchView #customerDealForm .cs2-own-warehouse-check input {
  width: 16px !important;
  min-height: 16px !important;
}

#customerWorkbenchView .cs2-badge.own-warehouse,
#customerWorkbenchView .cs2-tag.own-warehouse {
  border-color: #8bd4bd !important;
  background: #e9fbf5 !important;
  color: #047857 !important;
}

#customerWorkbenchView .own-warehouse-maintenance-form {
  grid-template-columns: 160px minmax(160px, 1fr) minmax(240px, 1.2fr) max-content !important;
  align-items: center !important;
}

/* v329: align the three customer process cards into a calm, even work surface. */
#customerWorkbenchView .cs2-process-forms {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) minmax(360px, 1.16fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  border: 1px solid #d8e5f4 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form {
  min-height: 190px !important;
  height: 100% !important;
  padding: 14px 16px 12px !important;
  display: grid !important;
  grid-template-rows: 24px 42px 42px 34px !important;
  align-content: start !important;
  row-gap: 10px !important;
  border: 0 !important;
  border-right: 1px solid #dbe6f3 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form:last-child {
  border-right: 0 !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form strong {
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form label,
#customerWorkbenchView .cs2-process-forms .cs2-deal-inline,
#customerWorkbenchView #customerReturnForm .cs2-after-pair,
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  align-self: center !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form label {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form label span {
  min-width: 0 !important;
  width: 54px !important;
  line-height: 34px !important;
  font-size: 13px !important;
  color: #526783 !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form input,
#customerWorkbenchView .cs2-process-forms .cs2-mini-form select {
  width: 100% !important;
  min-height: 34px !important;
  height: 34px !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form button[type="submit"] {
  align-self: end !important;
  justify-self: center !important;
  width: min(160px, 72%) !important;
  height: 32px !important;
  min-height: 32px !important;
}

#customerWorkbenchView #customerDealForm .cs2-deal-inline {
  display: grid !important;
  grid-template-columns: minmax(110px, 1fr) 96px !important;
  gap: 8px !important;
}

#customerWorkbenchView #customerDealForm .cs2-own-warehouse-check {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 9px !important;
}

#customerWorkbenchView #customerHandoverForm {
  grid-template-rows: 24px 42px 42px 34px !important;
}

#customerWorkbenchView #customerReturnForm {
  grid-template-columns: 1fr !important;
  grid-template-rows: 24px 42px 42px 34px 34px !important;
  row-gap: 8px !important;
}

#customerWorkbenchView #customerReturnForm > strong,
#customerWorkbenchView #customerReturnForm .cs2-after-pair,
#customerWorkbenchView #customerReturnForm > label,
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row,
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-column: 1 / -1 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
}

#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) {
  grid-template-columns: 64px minmax(0, .72fr) minmax(80px, .28fr) !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  display: grid !important;
  grid-template-columns: max-content 48px max-content 48px !important;
  justify-content: start !important;
  align-items: center !important;
  gap: 8px 12px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  display: contents !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  width: auto !important;
  min-width: 0 !important;
  line-height: 30px !important;
  white-space: nowrap !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  align-self: end !important;
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) !important;
  gap: 10px !important;
  width: min(300px, 82%) !important;
  justify-self: center !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
}

/* v330: fix after-sales card alignment without display:contents. */
#customerWorkbenchView .cs2-process-forms {
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr) minmax(420px, 1.25fr) !important;
}

#customerWorkbenchView .cs2-process-forms .cs2-mini-form {
  min-height: 178px !important;
  padding: 12px 16px !important;
}

#customerWorkbenchView #customerReturnForm {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 24px 38px 38px 38px !important;
  row-gap: 8px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair label,
#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair label span,
#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) span {
  width: 64px !important;
  min-width: 64px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  display: grid !important;
  grid-template-columns: max-content 34px max-content 34px minmax(96px, 1fr) minmax(112px, 1fr) !important;
  align-items: center !important;
  gap: 8px 10px !important;
  min-height: 34px !important;
  width: 100% !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  display: inline-grid !important;
  grid-template-columns: max-content 34px !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: auto !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:first-child {
  grid-column: 1 / 3 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:nth-child(2) {
  grid-column: 3 / 5 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 30px !important;
  line-height: 30px !important;
  white-space: nowrap !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  border-radius: 8px !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  display: contents !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button[type="submit"] {
  grid-column: 5 !important;
  grid-row: 4 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 #customerQualityButton {
  grid-column: 6 !important;
  grid-row: 4 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button {
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  align-self: center !important;
}

/* v331: restore after-sales title/buttons with stable rows. */
#customerWorkbenchView #customerReturnForm {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto auto auto auto !important;
  row-gap: 8px !important;
  min-height: 210px !important;
  overflow: visible !important;
}

#customerWorkbenchView #customerReturnForm > strong {
  display: block !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 20px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-pair {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
}

#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, .72fr) minmax(80px, .28fr) !important;
  align-items: center !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  justify-content: start !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 34px !important;
  width: 100% !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload {
  display: inline-grid !important;
  grid-template-columns: max-content 30px !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 30px !important;
  line-height: 30px !important;
  white-space: nowrap !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-column: 1 / -1 !important;
  grid-row: 5 !important;
  display: grid !important;
  grid-template-columns: minmax(110px, 1fr) minmax(120px, 1fr) !important;
  justify-self: center !important;
  align-self: end !important;
  width: min(300px, 82%) !important;
  gap: 10px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button,
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 button[type="submit"],
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 #customerQualityButton {
  display: inline-flex !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.customer-table-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 0;
  color: #5c6b82;
  font-size: 13px;
}

.customer-table-pager button[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}
/* v359: keep operation data subsection fold arrow visible in compact/admin nav. */
#appView #nav [data-nav-subsection="operationData"] > .nav-subsection-toggle > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin-left: auto !important;
  opacity: 1 !important;
  color: #607089 !important;
  pointer-events: auto !important;
}

#appView #nav [data-nav-subsection="operationData"] > .nav-subsection-toggle > b::after {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 1.8px solid currentColor !important;
  border-bottom: 1.8px solid currentColor !important;
  background: transparent !important;
  transform-origin: center !important;
}

#appView #nav [data-nav-subsection="operationData"]:not(.collapsed) > .nav-subsection-toggle > b::after {
  transform: rotate(45deg) !important;
}

#appView #nav [data-nav-subsection="operationData"].collapsed > .nav-subsection-toggle > b::after {
  transform: rotate(-45deg) !important;
}

#appView #nav [data-nav-subsection="operationData"].collapsed > .operation-platform-nav {
  display: none !important;
}

/* v371: brand ledger summary, active project details, gantt, and 3-column brand cards. */
.company-brand-library-panel > .record-header {
  margin-bottom: 12px;
}

.brand-ledger-dashboard {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.brand-ledger-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.brand-ledger-stats article {
  padding: 12px 14px;
  border: 1px solid #dfe8f0;
  border-radius: 8px;
  background: #fff;
}

.brand-ledger-stats span {
  display: block;
  color: #6b7890;
  font-size: 12px;
  font-weight: 800;
}

.brand-ledger-stats strong {
  display: block;
  margin-top: 6px;
  color: #1f2d40;
  font-size: 24px;
}

.brand-ledger-active,
.brand-ledger-gantt {
  padding: 12px;
  border: 1px solid #dfe8f0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
}

.brand-ledger-active-table {
  overflow: auto;
}

.brand-ledger-active-table table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.brand-ledger-active-table th,
.brand-ledger-active-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #edf1f5;
  text-align: left;
  color: #334155;
}

.brand-ledger-active-table th {
  color: #64748b;
  font-size: 12px;
  background: #f8fafc;
}

.brand-ledger-progress {
  display: inline-block;
  width: 72px;
  height: 8px;
  margin-right: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef5;
  vertical-align: middle;
}

.brand-ledger-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #4f74b8;
}

.brand-ledger-workflows {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.brand-ledger-workflows span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #e2eaf3;
  border-radius: 999px;
  background: #fff;
  color: #5f6f86;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.brand-ledger-workflows span.active {
  border-color: #bfd1ec;
  color: #315a99;
}

.brand-ledger-workflows span.pending {
  color: #8a96a8;
  background: #f8fafc;
}

.brand-ledger-gantt .record-header > span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.brand-ledger-week-plan {
  display: grid;
  gap: 0;
  overflow: auto;
  border: 1px solid #e2eaf3;
  border-radius: 8px;
  background: #fff;
}

.brand-ledger-week-head,
.brand-ledger-week-row {
  display: grid;
  grid-template-columns: minmax(190px, 230px) repeat(7, minmax(112px, 1fr));
  min-width: 1060px;
}

.brand-ledger-week-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
}

.brand-ledger-week-head label,
.brand-ledger-week-head b,
.brand-ledger-week-row > label,
.brand-ledger-week-cell {
  min-width: 0;
  border-right: 1px solid #e7eef6;
  border-bottom: 1px solid #eef3f8;
}

.brand-ledger-week-head label,
.brand-ledger-week-head b {
  padding: 9px 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.brand-ledger-week-head b {
  display: grid;
  gap: 2px;
  text-align: center;
}

.brand-ledger-week-head b.today {
  color: #2563eb;
  background: #eef5ff;
}

.brand-ledger-week-head small {
  color: #94a3b8;
  font-size: 11px;
}

.brand-ledger-week-row > label {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  background: #fbfdff;
}

.brand-ledger-week-row > label b,
.brand-ledger-week-row > label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-ledger-week-row > label span {
  color: #64748b;
  font-size: 12px;
}

.brand-ledger-week-cell {
  min-height: 68px;
  padding: 8px;
  background: #fff;
}

.brand-ledger-week-cell.today {
  background: #fbfdff;
}

.brand-ledger-week-cell > em {
  color: #cbd5e1;
  font-style: normal;
}

.brand-ledger-week-cell article {
  display: grid;
  gap: 3px;
  margin-bottom: 6px;
  padding: 7px 8px;
  border: 1px solid #dbe7f5;
  border-left: 3px solid #3b82f6;
  border-radius: 7px;
  background: #f8fbff;
}

.brand-ledger-week-cell article.done {
  border-left-color: #39b980;
  background: #f7fcfa;
}

.brand-ledger-week-cell article.pending {
  border-left-color: #cbd5e1;
  background: #fbfcfe;
}

.brand-ledger-week-cell article strong,
.brand-ledger-week-cell article span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-ledger-week-cell article strong {
  color: #263449;
  font-size: 12px;
}

.brand-ledger-week-cell article span {
  color: #64748b;
  font-size: 11px;
}

.company-brand-library-panel .new-product-brand-board {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
}

@media (max-width: 1280px) {
  .company-brand-library-panel .new-product-brand-board {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .brand-ledger-stats,
  .company-brand-library-panel .new-product-brand-board {
    grid-template-columns: 1fr !important;
  }
  .brand-ledger-gantt-row {
    grid-template-columns: 1fr;
  }
}

/* v372: use real b nodes as the only nav fold arrows, stable in admin and desktop client. */
#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::after {
  display: none !important;
  content: none !important;
}

#appView #nav .nav-section-toggle > b,
#appView #nav .nav-subsection-toggle > b,
#appView #nav [data-nav-toggle] > b,
#appView #nav [data-nav-subtoggle] > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  margin-left: auto !important;
  padding: 0 !important;
  color: #64748b !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#appView #nav .nav-section-toggle > b::after,
#appView #nav .nav-subsection-toggle > b::after,
#appView #nav .nav-section-toggle > b::before,
#appView #nav .nav-subsection-toggle > b::before {
  display: none !important;
  content: none !important;
}

#appView #nav .nav-section-toggle > b {
  font-size: 0 !important;
}

#appView #nav .nav-subsection-toggle > b {
  font-size: 0 !important;
}

#appView #nav .nav-section-toggle > b::marker,
#appView #nav .nav-subsection-toggle > b::marker {
  content: none !important;
}

#appView #nav .nav-section-toggle > b,
#appView #nav .nav-subsection-toggle > b {
  text-indent: 0 !important;
}

#appView #nav .nav-section-toggle > b::before,
#appView #nav .nav-subsection-toggle > b::before {
  display: inline-flex !important;
  content: "v" !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#appView #nav .nav-section.collapsed > .nav-section-toggle > b::before,
#appView #nav .nav-subsection.collapsed > .nav-subsection-toggle > b::before {
  content: ">" !important;
}

#appView.app-shell.sidebar-collapsed #nav .nav-section-toggle > b,
#appView.app-shell.sidebar-collapsed #nav .nav-subsection-toggle > b {
  display: none !important;
}

#productCenterView .new-product-brand-board {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 1280px) {
  #productCenterView .new-product-brand-board {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  #productCenterView .new-product-brand-board {
    grid-template-columns: 1fr !important;
  }
}

/* v361: restore fold arrows for every collapsible nav group after compact-nav overrides. */
#appView #nav .nav-section-toggle > b,
#appView #nav .nav-subsection-toggle > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin-left: auto !important;
  color: #607089 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#appView #nav .nav-section-toggle > b::after,
#appView #nav .nav-subsection-toggle > b::after {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 1.8px solid currentColor !important;
  border-bottom: 1.8px solid currentColor !important;
  background: transparent !important;
  transform-origin: center !important;
}

#appView #nav .nav-section:not(.collapsed) > .nav-section-toggle > b::after,
#appView #nav .nav-subsection:not(.collapsed) > .nav-subsection-toggle > b::after {
  transform: rotate(45deg) !important;
}

#appView #nav .nav-section.collapsed > .nav-section-toggle > b::after,
#appView #nav .nav-subsection.collapsed > .nav-subsection-toggle > b::after {
  transform: rotate(-45deg) !important;
}

/* v363: use text arrows so desktop CSS/cache quirks cannot hide fold indicators. */
#appView #nav .nav-section-toggle > b::after,
#appView #nav .nav-subsection-toggle > b::after {
  display: none !important;
  content: none !important;
}

#appView #nav .nav-section-toggle > b::before,
#appView #nav .nav-subsection-toggle > b::before {
  content: "v" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  color: #607089 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#appView #nav .nav-section.collapsed > .nav-section-toggle > b::before,
#appView #nav .nav-subsection.collapsed > .nav-subsection-toggle > b::before {
  content: ">" !important;
}

/* v365: draw fold arrows on the toggle buttons themselves, independent of empty b nodes. */
#appView #nav [data-nav-toggle],
#appView #nav [data-nav-subtoggle] {
  position: relative !important;
  padding-right: 28px !important;
}

#appView #nav [data-nav-toggle] > b,
#appView #nav [data-nav-subtoggle] > b {
  display: none !important;
}

#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::after {
  content: "v" !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

#appView #nav .nav-section.collapsed > [data-nav-toggle]::after,
#appView #nav .nav-subsection.collapsed > [data-nav-subtoggle]::after {
  content: ">" !important;
}

.meeting-minutes-shell {
  display: grid;
  gap: 18px;
}

.meeting-minutes-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #e8eef5;
  border-radius: 18px;
  background: linear-gradient(135deg, #fffaf3 0%, #f8fbff 54%, #fff6f4 100%);
}

.meeting-minutes-hero h3,
.meeting-minutes-history-head strong {
  margin: 4px 0 0;
}

.meeting-minutes-hero p:last-child {
  margin: 8px 0 0;
  color: #5f6f84;
}

.meeting-minutes-summary {
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #c86b10;
  font-weight: 800;
}

.meeting-minutes-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.12fr) minmax(0, 1.12fr);
  gap: 16px;
}

.meeting-minutes-panel {
  display: grid;
  gap: 14px;
  align-content: start;
}

.meeting-minutes-processing {
  font-size: 13px;
}

.meeting-minutes-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
  gap: 12px;
}

.meeting-minutes-upload-row .wide {
  min-width: 0;
}

.meeting-minutes-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.meeting-minutes-drop-zone {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 82px;
  padding: 12px 14px;
  border: 1.5px dashed #d8a55a;
  border-radius: 12px;
  background: linear-gradient(180deg, #fffdf8 0%, #fff8ed 100%);
  cursor: pointer;
}

.meeting-minutes-drop-zone strong {
  color: #a95e12;
}

.meeting-minutes-drop-zone span {
  color: #7a6856;
  font-size: 12px;
}

.meeting-minutes-drop-zone.drag-over {
  border-color: #c66f18;
  background: linear-gradient(180deg, #fff6e5 0%, #ffefd7 100%);
}

.meeting-minutes-panel textarea,
.meeting-minutes-panel input[type="text"],
.meeting-minutes-panel input[type="file"] {
  width: 100%;
}

.meeting-minutes-editor,
.meeting-minutes-panel textarea {
  min-height: 0;
  resize: vertical;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  line-height: 1.7;
}

.meeting-minutes-status {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f5f8fc;
  color: #596b82;
  font-size: 13px;
}

.meeting-minutes-detected-notes {
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff8ed;
  color: #8a642d;
  font-size: 12px;
  line-height: 1.6;
}

.meeting-minutes-history {
  display: grid;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid #eef2f7;
}

.meeting-minutes-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.meeting-minutes-history-head span {
  color: #7b8899;
  font-size: 12px;
}

.meeting-minutes-history-list {
  display: grid;
  gap: 10px;
  max-height: 360px;
  overflow: auto;
}

.meeting-minutes-history-item {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 12px;
  text-align: left;
  border: 1px solid #e2eaf2;
  border-radius: 12px;
  background: #fbfdff;
  box-shadow: none;
}

.meeting-minutes-history-item.active {
  border-color: #d7a552;
  background: #fff8ed;
}

.meeting-minutes-history-item span,
.meeting-minutes-history-item small,
.meeting-minutes-empty {
  color: #6d7a8e;
}

.meeting-minutes-history-item small {
  line-height: 1.5;
}

@media (max-width: 1320px) {
  .meeting-minutes-layout {
    grid-template-columns: 1fr;
  }

  .meeting-minutes-upload-row {
    grid-template-columns: 1fr;
  }
}

/* v434: employee salary detail panel with secondary password gate. */
.salary-detail-shell { display: grid; gap: 16px; }
.salary-detail-top,
.salary-card,
.salary-profile-card,
.salary-gate-card {
  background: #fff;
  border: 1px solid #dfe7f1;
  border-radius: 8px;
}
.salary-detail-top {
  min-height: 54px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.salary-detail-top h3,
.salary-section-head h4 { margin: 0; color: #0f172a; }
.salary-detail-actions,
.salary-detail-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.salary-detail-actions button,
.salary-detail-toolbar button { min-height: 34px; border-radius: 7px; }
.salary-detail-content { display: grid; gap: 16px; }
.salary-period-picker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid #d4dfec;
  border-radius: 7px;
  color: #53657d;
  font-size: 13px;
}
.salary-period-picker select {
  border: 0;
  outline: 0;
  background: transparent;
  min-width: 112px;
  font-weight: 700;
  color: #17233b;
}
.salary-period-picker-top {
  height: 38px;
  padding: 6px 10px;
}
.salary-period-picker-top span {
  line-height: 1.05;
}
.salary-gate { min-height: 280px; display: grid; place-items: center; }
.salary-gate-card {
  width: min(440px, 100%);
  padding: 26px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}
.salary-gate-card h3 { margin: 4px 0 8px; }
.salary-gate-card p:not(.eyebrow) { color: #64748b; margin: 0 0 18px; }
.salary-gate-form { display: grid; gap: 10px; }
.salary-gate-form input {
  height: 40px;
  border: 1px solid #cbd7e6;
  border-radius: 7px;
  padding: 0 12px;
  font-size: 15px;
}
.salary-gate-form button { height: 38px; }
.salary-gate-message { min-height: 20px; margin-top: 10px; color: #dc2626; font-size: 13px; }
.salary-profile-card {
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
}
.salary-profile-card strong { display: block; color: #2563eb; font-size: 16px; margin-bottom: 8px; }
.salary-profile-card p { margin: 0; color: #53657d; }
.salary-profile-card i {
  width: 70px;
  height: 70px;
  border: 7px solid #e6f0ff;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}
.salary-profile-card i::before,
.salary-profile-card i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #e6f0ff;
  transform-origin: left center;
}
.salary-profile-card i::before { width: 3px; height: 22px; transform: translate(-50%, -100%); }
.salary-profile-card i::after { width: 22px; height: 3px; transform: translate(0, -50%) rotate(32deg); }
.salary-card { padding: 20px 24px; }
.salary-summary-card { padding-top: 26px; overflow-x: auto; }
.salary-formula {
  display: grid;
  grid-template-columns: minmax(130px, 1.2fr) 36px minmax(120px, 1fr) 36px minmax(120px, 1fr) 36px minmax(120px, 1fr) 36px minmax(120px, 1fr);
  align-items: end;
  gap: 8px;
  width: 100%;
}
.salary-summary-card .salary-formula {
  grid-template-columns: minmax(105px, 1.2fr) 24px repeat(4, minmax(82px, 1fr) 24px) minmax(82px, 1fr);
  gap: 4px;
  min-width: 680px;
}
.salary-summary-card .salary-formula-item span { margin-bottom: 4px; font-size: 12px; white-space: nowrap; }
.salary-summary-card .salary-formula-item strong { font-size: 16px; white-space: nowrap; }
.salary-summary-card .salary-formula-item.total strong { font-size: 22px; }
.salary-card:not(.salary-summary-card) .salary-formula {
  grid-template-columns: minmax(140px, 1fr) 36px minmax(140px, 1fr) 36px minmax(140px, 1fr) 36px minmax(140px, 1fr);
  background: #f8fafc;
  padding: 18px;
  border-radius: 8px;
  width: min(100%, 1040px);
  margin: 14px auto 18px;
}
.salary-card:not(.salary-summary-card) .salary-formula.salary-formula-11 {
  grid-template-columns: minmax(92px, 1fr) 20px minmax(150px, 1.45fr) 20px minmax(76px, .8fr) 20px minmax(105px, 1fr) 20px minmax(105px, 1fr) 20px minmax(145px, 1.35fr);
  gap: 4px;
  width: 100%;
  max-width: none;
  padding: 14px 12px;
}
.salary-formula-11 .salary-formula-item span,
.salary-formula-11 .salary-formula-item strong { white-space: nowrap; }
.salary-formula-11 .salary-formula-item span { font-size: 12px; }
.salary-formula-11 .salary-formula-item strong { font-size: 16px; }
.salary-formula-item { min-width: 0; text-align: center; }
.salary-formula-item.total { text-align: left; }
.salary-formula-item span { display: block; margin-bottom: 6px; color: #64748b; font-size: 13px; }
.salary-formula-item strong { color: #0f172a; font-size: 17px; line-height: 1.1; }
.salary-formula-item.total strong { color: #2563eb; font-size: 25px; }
.salary-formula-item.deduct strong { color: #dc2626; }
.salary-formula-item.result strong { color: #059669; }
.salary-op {
  align-self: end;
  justify-self: center;
  color: #94a3b8;
  font-size: 18px;
  line-height: 1.2;
  padding-bottom: 1px;
}
.salary-note { margin: 16px 0 0; text-align: center; color: #94a3b8; font-size: 12px; }
.salary-section-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 8px; }
.salary-section-head span { color: #94a3b8; font-size: 13px; }
.salary-card h5 { margin: 12px 0 8px; color: #0f172a; }
.salary-table-wrap table { font-size: 13px; }
.salary-table-wrap th { background: #f8fafc; color: #475569; font-weight: 600; }
.salary-empty-row { text-align: center; color: #94a3b8; padding: 18px !important; }
.salary-subtables { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.salary-performance-total td {
  background: #f4f8ff;
  color: #1e3a5f;
  padding: 12px 14px !important;
  text-align: center;
}
.salary-performance-total strong { margin-right: 10px; color: #0f172a; }
.salary-breakdown-table { table-layout: fixed; width: 100%; }
.salary-breakdown-table .salary-breakdown-type { width: 14%; }
.salary-breakdown-table .salary-breakdown-quantity { width: 13%; }
.salary-breakdown-table .salary-breakdown-money { width: 14%; }
.salary-breakdown-table .salary-breakdown-copy { width: 59%; }
.salary-breakdown-amount { white-space: nowrap; font-weight: 700; }
.salary-breakdown-amount.deduct { color: #dc2626; }
.salary-breakdown-amount.result { color: #059669; }
.salary-breakdown-detail { white-space: normal !important; overflow-wrap: anywhere; word-break: break-word; }
.salary-breakdown-detail span { display: block; line-height: 1.7; white-space: normal; }
.salary-breakdown-detail span + span { margin-top: 3px; padding-top: 3px; border-top: 1px dashed #e2e8f0; }
.account-salary-password { font-size: 12px; color: #64748b; }
.account-salary-password.is-set { color: #0f8a5f; }
.account-salary-password.not-set { color: #b45309; }
@media (max-width: 1180px) {
  .salary-card:not(.salary-summary-card) .salary-formula:not(.salary-formula-11),
  .salary-subtables { grid-template-columns: 1fr; }
  .salary-card:has(.salary-formula-11) { overflow-x: auto; }
  .salary-card:not(.salary-summary-card) .salary-formula.salary-formula-11 { min-width: 1080px; }
  .salary-op { padding: 0; }
}

/* v429 final override: macro environment analysis reads like a report, not stacked cards. */
#productCenterView .new-product-macro-stage .new-product-ai-result.new-product-macro-result {
  display: block !important;
  padding: 16px 18px !important;
  border: 1px solid #e7edf5 !important;
  background: #fff !important;
}

#productCenterView .new-product-macro-stage .new-product-macro-input-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr) !important;
  gap: 12px !important;
}

#productCenterView .new-product-macro-stage .new-product-macro-input-row .wide {
  grid-column: auto !important;
}

#productCenterView .new-product-macro-stage .new-product-stage-brief {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

#productCenterView .new-product-stage-brief.new-product-stage-brief-clean {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

#productCenterView .new-product-macro-stage .new-product-stage-actions-inline {
  display: flex !important;
}

#productCenterView .new-product-macro-stage .new-product-template-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#productCenterView .new-product-market-stage .new-product-stage-brief {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  padding: 2px 0 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

#productCenterView .new-product-market-stage .new-product-macro-input-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
}

#productCenterView .new-product-market-stage .new-product-macro-input-row .wide {
  grid-column: auto !important;
}

#productCenterView .new-product-market-stage .new-product-stage-brief section {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#productCenterView .new-product-market-stage .new-product-stage-form {
  gap: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#productCenterView .new-product-market-stage .new-product-stage-form textarea {
  min-height: 82px !important;
  border-color: #d8e3ef !important;
  background: #fbfdff !important;
}

#productCenterView .new-product-market-data-panel {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(270px, 340px);
  gap: 18px 22px;
  align-items: start;
  padding: 6px 0 16px;
  border-bottom: 1px solid #edf2f7;
  background: transparent;
}

#productCenterView .new-product-market-data-copy {
  min-width: 0;
}

#productCenterView .new-product-market-data-panel h4 {
  margin: 3px 0 8px;
  color: #18253a;
}

#productCenterView .new-product-market-data-panel p {
  margin: 0;
  color: #5e6e84;
  line-height: 1.6;
}

#productCenterView .new-product-market-chips {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 7px;
  margin-top: 12px;
}

#productCenterView .new-product-market-chips span {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: #edf5ff;
  color: #345576;
  font-size: 12px;
  font-weight: 700;
}

#productCenterView .new-product-market-upload {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 104px;
  padding: 14px;
  border: 1px solid #d9e5f2;
  border-radius: 7px;
  background: #f8fbff;
  color: #26364d;
  font-weight: 800;
}

#productCenterView .new-product-market-upload input {
  width: 100%;
}

#productCenterView .new-product-market-upload small {
  color: #748399;
  font-weight: 600;
}

#productCenterView .new-product-market-data-panel .new-product-upload-list {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px 8px;
  padding-top: 2px;
}

#productCenterView .new-product-market-data-panel .new-product-upload-list span {
  max-width: none;
  width: 100%;
  justify-content: flex-start;
  padding: 6px 8px;
  border-radius: 5px;
  background: #f5f7fa;
}

#productCenterView .new-product-market-data-panel .new-product-upload-list span b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e6eef8;
  color: #49627f;
  font-size: 11px;
}

#productCenterView .new-product-visual-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 180px)) minmax(320px, 1fr);
  gap: 10px;
  align-items: stretch;
}

#productCenterView .new-product-visual-card {
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  min-height: 76px;
  padding: 12px;
  border: 1px solid #e2ebf5;
  border-radius: 8px;
  background: #f9fbfe;
}

#productCenterView .new-product-visual-card i {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e9f2ff;
  color: #2563eb;
  font-style: normal;
  font-weight: 900;
}

#productCenterView .new-product-visual-card span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

#productCenterView .new-product-visual-card strong {
  color: #102033;
  font-size: 22px;
}

#productCenterView .new-product-mini-chart {
  display: grid;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid #e2ebf5;
  border-radius: 8px;
  background: #fff;
}

#productCenterView .new-product-mini-chart div {
  display: grid;
  grid-template-columns: 110px minmax(80px, 1fr) 86px;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

#productCenterView .new-product-mini-chart span,
#productCenterView .new-product-mini-chart em {
  overflow: hidden;
  color: #53657d;
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#productCenterView .new-product-mini-chart b {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2563eb, #14b8a6);
}

#productCenterView .new-product-mini-chart.empty {
  align-content: center;
  justify-content: center;
  color: #7a8aa0;
  font-weight: 700;
}

#productCenterView .new-product-signal-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

#productCenterView .new-product-signal-strip span {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 9px 10px;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  line-height: 1.45;
}

#productCenterView .new-product-signal-strip b {
  flex: 0 0 auto;
  padding: 1px 6px;
  border-radius: 999px;
  background: #e0f2fe;
  color: #0369a1;
  font-size: 12px;
}

#productCenterView .new-product-signal-strip .risk b {
  background: #fee2e2;
  color: #b91c1c;
}

@media (max-width: 900px) {
  #productCenterView .new-product-macro-stage .new-product-macro-input-row,
  #productCenterView .new-product-macro-stage .new-product-stage-brief,
  #productCenterView .new-product-macro-stage .new-product-template-grid,
  #productCenterView .new-product-market-stage .new-product-stage-brief,
  #productCenterView .new-product-market-data-panel,
  #productCenterView .new-product-visual-panel,
  #productCenterView .new-product-signal-strip {
    grid-template-columns: 1fr !important;
  }

  #productCenterView .new-product-market-data-panel .new-product-upload-list {
    grid-template-columns: 1fr !important;
  }
}

/* v424: operation data platform grouped navigation. */
#appView #nav .operation-platform-nav {
  display: grid !important;
  gap: 6px !important;
}

#appView #nav .operation-platform-group {
  display: grid !important;
  gap: 4px !important;
}

#appView #nav .operation-platform-group > span {
  padding: 8px 14px 4px 18px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

#appView #nav .operation-platform-group > button {
  padding-left: 28px !important;
}

/* v425: keep dashboard decision gantt to four rows. */
#dashboardView.home2-dashboard .home2-gantt-rows {
  grid-template-rows: repeat(4, minmax(62px, auto)) !important;
}

#dashboardView.home2-dashboard .home2-gantt-row:nth-child(n+5) {
  display: none !important;
}

/* v423: decision gantt fit and status colors. */
#dashboardView.home2-dashboard .home2-gantt {
  min-height: 360px !important;
}

#dashboardView.home2-dashboard .home2-gantt-body {
  grid-template-rows: 50px minmax(0, 1fr) !important;
  overflow: visible !important;
}

#dashboardView.home2-dashboard .home2-gantt-head,
#dashboardView.home2-dashboard .home2-gantt-row {
  grid-template-columns: minmax(380px, 34%) minmax(0, 1fr) !important;
}

#dashboardView.home2-dashboard .home2-gantt-rows {
  grid-template-rows: repeat(5, minmax(56px, auto)) !important;
  gap: 6px !important;
  padding-top: 10px !important;
  overflow: visible !important;
}

#dashboardView.home2-dashboard .home2-gantt-row {
  min-height: 56px !important;
  overflow: visible !important;
}

#dashboardView.home2-dashboard .home2-gantt-name {
  gap: 3px !important;
  padding-right: 20px !important;
}

#dashboardView.home2-dashboard .home2-gantt-name b {
  display: -webkit-box !important;
  overflow: hidden !important;
  white-space: normal !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  line-height: 1.28 !important;
}

#dashboardView.home2-dashboard .home2-gantt-name small {
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-gantt-track {
  height: 34px !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar {
  top: 10px !important;
  height: 14px !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar.done,
#dashboardView.home2-dashboard .home2-gantt-row.done .home2-gantt-track .bar {
  background: linear-gradient(90deg, #9aa6b5, #c3cad5) !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar.late,
#dashboardView.home2-dashboard .home2-gantt-row.late .home2-gantt-track .bar {
  background: linear-gradient(90deg, #e11d48, #fb3f5f) !important;
}

#dashboardView.home2-dashboard .home2-gantt-track .bar.active.tone-0 { background: linear-gradient(90deg, #3f72ff, #5b8bff) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.active.tone-1 { background: linear-gradient(90deg, #28a862, #55c77d) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.active.tone-2 { background: linear-gradient(90deg, #f59e0b, #fbbf24) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.active.tone-3 { background: linear-gradient(90deg, #0ea5e9, #38bdf8) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.active.tone-4 { background: linear-gradient(90deg, #7c3aed, #a78bfa) !important; }
#dashboardView.home2-dashboard .home2-gantt-track .bar.active.tone-5 { background: linear-gradient(90deg, #0f9f8e, #34d399) !important; }

#dashboardView .home-gantt-v3-bar.done {
  background: linear-gradient(90deg, #9aa6b5, #c3cad5) !important;
}

#dashboardView .home-gantt-v3-bar.late {
  background: linear-gradient(90deg, #e11d48, #fb3f5f) !important;
}

/* v425 final override: dashboard decision gantt keeps four visible rows. */
#dashboardView.home2-dashboard .home2-gantt-rows {
  grid-template-rows: repeat(4, minmax(62px, auto)) !important;
}

#dashboardView.home2-dashboard .home2-gantt-row:nth-child(n+5) {
  display: none !important;
}

/* v412: clean after-sales attachment controls in customer ledger 2.0. */
#customerWorkbenchView #customerReturnForm {
  grid-template-rows: auto auto auto auto auto !important;
  row-gap: 10px !important;
  min-height: 230px !important;
  align-content: start !important;
}

#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) {
  grid-template-columns: 64px minmax(0, 1fr) !important;
  width: 100% !important;
}

#customerWorkbenchView #customerReturnForm > label:has(input[name="退货原因"]) input {
  width: 100% !important;
  min-width: 0 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: 38px !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload,
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:first-child,
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:nth-child(2) {
  grid-column: auto !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > span {
  display: inline-flex !important;
  align-items: center !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 38px !important;
  color: #48627f !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload::after {
  content: "选择文件" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 36px !important;
  border: 1px solid #d7e2ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  border: 1px solid #bfd2ea !important;
  border-radius: 8px !important;
  background: #f8fbff !important;
  color: #2f6fdb !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:hover::after {
  border-color: #9fbbe2 !important;
  background: #f5f9ff !important;
  color: #315f9e !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:hover > b {
  border-color: #87aee0 !important;
  background: #eef6ff !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row input[type="file"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* v413: merge each after-sales upload control into one clickable field. */
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload,
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:first-child,
#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:nth-child(2) {
  grid-template-columns: 64px minmax(0, 1fr) !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload::after {
  content: "+  选择文件" !important;
  height: 36px !important;
  border: 1px solid #d7e2ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #2f6fdb !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload > b {
  display: none !important;
}

#customerWorkbenchView #customerReturnForm .cs2-after-upload-row .cs2-plus-upload:hover::after {
  border-color: #8fb4e5 !important;
  background: #f5f9ff !important;
  color: #1f5fb8 !important;
}

/* v414: after-sales flow and quality verification cleanup. */
#customerWorkbenchView .cs2-badge.after-sales,
#customerWorkbenchView .cs2-tag.after-sales {
  border-color: #b8d7ff !important;
  background: #eef6ff !important;
  color: #1d5fa8 !important;
}

#qualityStats:empty {
  display: none !important;
}

.quality-after-project {
  display: grid !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.quality-after-project > header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 2px 4px !important;
  border-bottom: 1px solid #e6edf5 !important;
}

.quality-after-project > header h4 {
  margin: 0 !important;
  color: #1f3654 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.quality-after-project > header span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.quality-after-card {
  padding: 8px 10px !important;
  border-radius: 6px !important;
}

.quality-after-card header {
  margin-bottom: 6px !important;
}

.quality-after-grid {
  grid-template-columns: 1.1fr 1.15fr .65fr 1.4fr 1fr 1fr 1.2fr !important;
  gap: 6px !important;
}

.quality-after-grid section {
  min-width: 0 !important;
  padding: 6px 8px !important;
}

.quality-after-grid b {
  margin-bottom: 2px !important;
  font-size: 11px !important;
}

.quality-after-grid p {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 12px !important;
}

.customer-attachment-links {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

.customer-attachment-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  max-width: 220px !important;
}

.customer-attachment-link b {
  max-width: 90px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #475569 !important;
  font-size: 12px !important;
}

.customer-attachment-link a {
  color: #2563eb !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.quality-verify-info {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 8px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
}

.quality-verify-info span {
  min-width: 0 !important;
  display: flex !important;
  gap: 4px !important;
  color: #334155 !important;
  font-size: 12px !important;
}

.quality-verify-info b,
.quality-verify-info i {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-style: normal !important;
}

.quality-solution-upload {
  position: relative !important;
}

.quality-solution-upload input[type="file"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.quality-solution-upload b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  border: 1px solid #d7e2ee !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #2f6fdb !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.quality-solution-upload small {
  display: block !important;
  margin-top: 5px !important;
}

@media (max-width: 1280px) {
  .quality-after-grid,
  .quality-verify-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v415: decision approval workbench, no generic request launcher. */
.approval-shell {
  gap: 12px !important;
}

.approval-hero {
  border: 1px solid #d7e2ee !important;
  border-radius: 8px !important;
  background:
    linear-gradient(90deg, rgba(47, 111, 219, 0.08), rgba(255,255,255,0) 42%),
    #fff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05) !important;
}

.approval-hero h3 {
  margin: 0 !important;
  color: #111827 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

.approval-hero p:not(.eyebrow) {
  margin: 6px 0 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
}

.approval-layout {
  display: block !important;
}

.approval-list-panel {
  min-height: calc(100vh - 190px) !important;
  padding: 14px !important;
  border: 1px solid #d7e2ee !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.approval-list-panel > .record-header {
  align-items: center !important;
  margin-bottom: 12px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid #e7edf5 !important;
}

.approval-list-panel > .record-header h3 {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.approval-head-actions {
  gap: 8px !important;
}

.approval-head-actions #refreshApprovals {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 6px !important;
}

.approval-summary {
  gap: 8px !important;
  justify-content: flex-end !important;
}

.approval-summary article {
  min-width: 92px !important;
  padding: 8px 12px !important;
  border: 1px solid #e1e8f0 !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
}

.approval-summary article span {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 12px !important;
}

.approval-summary article strong {
  color: #172033 !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
}

.approval-tabs {
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 3px !important;
  border-radius: 7px !important;
  background: #f1f5f9 !important;
}

.approval-tabs button {
  flex: 1 1 0 !important;
  min-height: 34px !important;
  border-radius: 5px !important;
  color: #64748b !important;
  font-weight: 800 !important;
}

.approval-tabs button.active {
  color: #1d4ed8 !important;
  background: #fff !important;
  box-shadow: 0 1px 5px rgba(15, 23, 42, 0.08) !important;
}

.approval-head-actions {
  gap: 8px !important;
  align-items: center !important;
}

.approval-period-filter {
  display: inline-grid !important;
  grid-template-columns: auto 118px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding: 0 8px 0 10px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #52657a !important;
  box-shadow: none !important;
}

.approval-period-filter span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.approval-period-filter select {
  width: 118px !important;
  min-width: 118px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 28px 0 9px !important;
  border: 1px solid #d8e3ee !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.approval-period-filter select:focus {
  border-color: #8fb3d9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.10) !important;
}

.approval-list {
  max-height: none !important;
  gap: 10px !important;
  padding-right: 0 !important;
}

.decision-approval-card {
  grid-template-columns: 116px minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 1px solid #e0e7ef !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: none !important;
}

.approval-status-rail {
  display: grid !important;
  place-items: center !important;
  padding: 12px 10px !important;
  color: #475569 !important;
  background: #f8fafc !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.approval-status-rail.approval-pending {
  color: #9a5b00 !important;
  background: #fff7e6 !important;
}

.approval-status-rail.approval-pass {
  color: #166534 !important;
  background: #ecfdf3 !important;
}

.approval-status-rail.approval-reject,
.approval-status-rail.approval-cancel {
  color: #b42318 !important;
  background: #fff1f2 !important;
}

.approval-card-main {
  min-width: 0 !important;
  padding: 12px 0 !important;
}

.approval-time-strip {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 0 0 9px !important;
  padding: 7px 9px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 7px !important;
  background: #f8fafc !important;
}

.approval-time-strip strong {
  min-width: 86px !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.approval-time-strip span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.approval-time-strip span b {
  color: #94a3b8 !important;
  font-weight: 900 !important;
}

.approval-time-strip.early {
  border-color: #bbf7d0 !important;
  background: #f0fdf4 !important;
}

.approval-time-strip.early strong,
.approval-time-strip.ontime strong {
  color: #166534 !important;
}

.approval-time-strip.ontime {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
}

.approval-time-strip.late {
  border-color: #fecdd3 !important;
  background: #fff1f2 !important;
}

.approval-time-strip.late strong {
  color: #b42318 !important;
}

.approval-time-strip.pending {
  border-color: #fed7aa !important;
  background: #fff7ed !important;
}

.approval-time-strip.pending strong {
  color: #9a5b00 !important;
}

.approval-card-head {
  align-items: flex-start !important;
}

.approval-card-head > div {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

.approval-card-head span {
  width: max-content !important;
  padding: 3px 7px !important;
  border-radius: 5px !important;
  background: #eef6ff !important;
  color: #1d5fa8 !important;
  font-size: 12px !important;
}

.approval-card-head strong {
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
}

.approval-card-head b {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.approval-card p.decision-approval-reason {
  max-height: 78px !important;
  margin: 8px 0 !important;
  overflow: auto !important;
  color: #334155 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.approval-meta {
  gap: 6px !important;
  margin: 0 !important;
}

.approval-meta span {
  display: inline-flex !important;
  gap: 5px !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 12px !important;
}

.approval-meta span b {
  color: #94a3b8 !important;
  font-weight: 800 !important;
}

.decision-approval-card .approval-actions {
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  min-width: 88px !important;
  padding: 12px !important;
  border-left: 1px solid #edf2f7 !important;
}

.decision-approval-card .approval-actions button {
  min-width: 76px !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 6px !important;
}

@media (max-width: 980px) {
  .decision-approval-card {
    grid-template-columns: 1fr !important;
  }
  .approval-status-rail,
  .decision-approval-card .approval-actions {
    display: flex !important;
    justify-content: flex-start !important;
    border-left: 0 !important;
  }
}

/* v411: command bar buttons stay icon-like, not boxed form buttons. */
#appView .app-command-bar .command-btn,
#appView .topbar.app-command-bar .command-btn,
body .app-command-bar button.command-btn,
body .topbar.app-command-bar button.command-btn {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #344054 !important;
}

#appView .app-command-bar .command-btn:hover,
#appView .topbar.app-command-bar .command-btn:hover,
body .app-command-bar button.command-btn:hover,
body .topbar.app-command-bar button.command-btn:hover {
  border: 0 !important;
  background: rgba(31, 87, 140, 0.06) !important;
  box-shadow: none !important;
  color: #1f3754 !important;
}

/* v409: final light button baseline, avoiding dark unreadable hover states. */
body button:not(.primary):not(.danger):not(.success):not(.nav-home-button):not(.nav-section-toggle):not(.nav-subsection-toggle):not([data-nav-toggle]):not([data-nav-subtoggle]),
body button.secondary:not(.danger):not(.success),
body .secondary:not(.danger):not(.success) {
  border: 1px solid #d7e2ee !important;
  background: #fff !important;
  color: #263a55 !important;
  box-shadow: none !important;
}

body button:not(.primary):not(.danger):not(.success):not(.nav-home-button):not(.nav-section-toggle):not(.nav-subsection-toggle):not([data-nav-toggle]):not([data-nav-subtoggle]):hover,
body button.secondary:not(.danger):not(.success):hover,
body .secondary:not(.danger):not(.success):hover {
  border-color: #9fb6cf !important;
  background: #f3f8fd !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body button:not(.primary):not(.danger):not(.success):disabled,
body button.secondary:disabled,
body .secondary:disabled {
  border-color: #dbe4ef !important;
  background: #eef3f8 !important;
  color: #8a98aa !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* v410: keep the top-right identity chip from inheriting generic button chrome. */
body button.user-chip,
body button.command-user-chip,
#appView .command-user-chip,
#userChip {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body button.user-chip:hover,
body button.command-user-chip:hover,
#appView .command-user-chip:hover,
#userChip:hover {
  border: 0 !important;
  background: rgba(31, 87, 140, 0.06) !important;
  box-shadow: none !important;
}

/* v418: decision approval month filter should not truncate in desktop app. */
#approvalView .approval-head-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
}

#approvalView .approval-period-filter {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 190px !important;
  min-width: 190px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 8px 0 10px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

#approvalView .approval-period-filter span {
  flex: 0 0 auto !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#approvalView .approval-period-filter select {
  flex: 0 0 132px !important;
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 30px 0 10px !important;
  border: 1px solid #d8e3ee !important;
  border-radius: 6px !important;
  background-color: #f8fafc !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 30px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

#approvalView .approval-head-actions #refreshApprovals {
  flex: 0 0 auto !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
}

/* v419: decision table project headers are rows, not boxed buttons. */
#decisionTableView .decision-project-title,
#decisionTableView button.decision-project-title,
#decisionTaskTable .decision-project-title,
#decisionTaskTable button.decision-project-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #172033 !important;
}

#decisionTableView .decision-project-title:hover,
#decisionTableView button.decision-project-title:hover,
#decisionTaskTable .decision-project-title:hover,
#decisionTaskTable button.decision-project-title:hover,
#decisionTableView .decision-project-title:focus,
#decisionTableView button.decision-project-title:focus,
#decisionTaskTable .decision-project-title:focus,
#decisionTaskTable button.decision-project-title:focus {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #0f2742 !important;
}

#decisionTableView .decision-project-title span,
#decisionTaskTable .decision-project-title span {
  display: inline-grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 6px !important;
  background: #eef6ff !important;
  color: #1d5fa8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

#decisionTableView .decision-project-title strong,
#decisionTaskTable .decision-project-title strong {
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
}

/* v420: dashboard todo summary uses divider rows and four visible items. */
#dashboardView.home2-dashboard .home2-todo .home2-list {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  min-height: 0 !important;
}

#dashboardView.home2-dashboard .home2-todo-page {
  display: grid !important;
  gap: 0 !important;
  min-height: 0 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 47px !important;
  padding: 7px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e5edf6 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #172033 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item:last-child {
  border-bottom: 0 !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item:hover {
  border-color: #d7e4f2 !important;
  background: #f7fbff !important;
  box-shadow: none !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item span {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item b {
  overflow: hidden !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item small {
  overflow: hidden !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-todo .home2-list-item em {
  flex: 0 0 auto !important;
  color: #1d5fa8 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

#dashboardView.home2-dashboard .home2-todo-pager {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin-top: 4px !important;
  padding: 0 !important;
}

#dashboardView.home2-dashboard .home2-todo-pager button {
  width: auto !important;
  min-width: 64px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 28px !important;
}

#dashboardView.home2-dashboard .home2-todo-pager span {
  min-width: 34px !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* v398: finance quarterly report polished desktop layout. */
.finance-report-shell {
  display: grid;
  gap: 12px;
}
.finance-report-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid #d8e1ec;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(10, 132, 125, 0.08), rgba(15, 23, 42, 0) 44%),
    #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}
.finance-report-head .eyebrow {
  margin: 0 0 4px;
  color: #0f766e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
}
.finance-report-head h3 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 22px;
  line-height: 1.25;
}
.finance-report-head p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: #5f6f84;
  font-size: 13px;
  line-height: 1.55;
}
.finance-report-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.finance-report-actions .month-box {
  min-width: 154px;
  margin: 0;
}
.finance-report-actions button {
  min-height: 38px;
  border: 1px solid #cfdbe8;
  background: #fff;
  color: #263548;
  box-shadow: none;
}
.finance-report-actions button:hover {
  border-color: #0f766e;
  background: #ecfdf9;
  color: #0f4f4a;
}
.finance-report-actions button:active {
  background: #dff7ef;
  color: #0f4f4a;
}
.finance-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.finance-report-summary article {
  position: relative;
  min-height: 78px;
  padding: 13px 14px 12px 16px;
  border: 1px solid #d8e1ec;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.finance-report-summary article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #64748b;
}
.finance-report-summary article.is-income::before { background: #0f766e; }
.finance-report-summary article.is-expense::before { background: #c2410c; }
.finance-report-summary article.is-net::before { background: #1d4ed8; }
.finance-report-summary span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.finance-report-summary strong {
  display: block;
  margin-top: 9px;
  color: #172033;
  font-size: 22px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.finance-rule-panel { padding: 14px; }
.finance-rule-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.finance-rule-grid article {
  padding: 12px;
  border: 1px dashed #cbd7e6;
  border-radius: 8px;
  background: #fbfdff;
}
.finance-rule-grid span { display: block; margin-bottom: 6px; color: #334155; font-weight: 800; }
.finance-rule-grid p { margin: 0; color: #64748b; line-height: 1.55; }
.finance-table-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #d8e1ec;
  background: #fbfcfe;
}
.finance-table-title strong {
  color: #111827;
  font-size: 16px;
}
.finance-table-title span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
  text-align: right;
}
.finance-report-panel {
  border-color: #d8e1ec;
  overflow: hidden;
}
.finance-report-wrap {
  max-height: calc(100vh - 292px);
  background: #fff;
}
.finance-quarter-table {
  width: 100%;
  min-width: 1240px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  color: #253247;
  font-size: 12px;
  line-height: 1.35;
}
.finance-quarter-table .finance-store-col { width: 238px; }
.finance-quarter-table .finance-metric-col { width: calc((100% - 238px) / 12); }
.finance-quarter-table th,
.finance-quarter-table td {
  border-right: 1px solid #e3e9f2;
  border-bottom: 1px solid #e3e9f2;
  padding: 8px 9px;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.finance-quarter-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eef5f7;
  color: #263548;
  font-weight: 800;
  box-shadow: inset 0 -1px 0 #cfdbe8;
}
.finance-quarter-table thead tr:first-child th {
  height: 34px;
  color: #0f4f4a;
}
.finance-quarter-table thead tr:nth-child(2) th {
  top: 34px;
  height: 32px;
  background: #f9fbfd;
  color: #536176;
  font-size: 11px;
}
.finance-quarter-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 238px;
  min-width: 238px;
  max-width: 238px;
  text-align: left;
  background: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
}
.finance-quarter-table thead th:first-child {
  z-index: 4;
  background: #eef5f7;
  text-align: center;
}
.finance-quarter-table tbody th {
  color: #1f2937;
  font-weight: 800;
}
.finance-quarter-table tbody tr:nth-child(even) th,
.finance-quarter-table tbody tr:nth-child(even) td {
  background-color: #fbfdff;
}
.finance-quarter-table tbody tr:hover th,
.finance-quarter-table tbody tr:hover td {
  background-color: #f1f8f7;
}
.finance-quarter-table tbody td {
  color: #475569;
  text-align: right;
}
.finance-quarter-table .finance-income { color: #0f766e; }
.finance-quarter-table .finance-expense { color: #b45309; }
.finance-quarter-table .finance-net {
  color: #1d4ed8;
  font-weight: 800;
}
.finance-quarter-table .finance-net.is-negative { color: #b91c1c; }
.finance-quarter-table .finance-money.is-empty {
  color: #a8b3c2;
  font-weight: 500;
}
.finance-total-row th,
.finance-total-row td {
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: #f3f7fb !important;
  color: #111827;
  font-weight: 900;
  box-shadow: inset 0 1px 0 #cfdbe8;
}
.finance-total-row th {
  position: sticky;
  left: 0;
  bottom: 0;
  z-index: 5;
  background: #eef5f7 !important;
  color: #111827;
  font-weight: 900;
  box-shadow: inset 0 1px 0 #cfdbe8;
}
@media (max-width: 1100px) {
  .finance-report-head,
  .finance-table-title {
    display: flex;
    align-items: stretch;
    flex-direction: column;
  }
  .finance-report-head {
    grid-template-columns: 1fr;
  }
  .finance-report-actions {
    justify-content: flex-start;
  }
  .finance-table-title span {
    text-align: left;
  }
  .finance-report-summary,
  .finance-rule-grid { grid-template-columns: 1fr; }
}

/* v370: pseudo arrows are also the click target; keep operation-data/admin arrows visible. */
#appView #nav [data-nav-toggle],
#appView #nav [data-nav-subtoggle],
#appView #nav [data-nav-subsection="operationData"] > [data-nav-subtoggle] {
  position: relative !important;
  padding-right: 36px !important;
}

#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::after,
#appView #nav [data-nav-subsection="operationData"] > [data-nav-subtoggle]::after {
  content: "v" !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

#appView #nav .nav-section.collapsed > [data-nav-toggle]::after,
#appView #nav .nav-subsection.collapsed > [data-nav-subtoggle]::after,
#appView #nav [data-nav-subsection="operationData"].collapsed > [data-nav-subtoggle]::after {
  content: ">" !important;
}

#appView #nav [data-nav-subsection="operationData"].collapsed > .operation-platform-nav {
  display: none !important;
}

#appView.app-shell.sidebar-collapsed #nav [data-nav-toggle]::after,
#appView.app-shell.sidebar-collapsed #nav [data-nav-subtoggle]::after {
  display: none !important;
}

/* v366: restore comfortable sidebar width now that fold arrows are always visible. */
#appView.app-shell:not(.sidebar-collapsed),
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell:not(.sidebar-collapsed) {
  grid-template-columns: 220px minmax(0, 1fr) !important;
}

#appView.app-shell:not(.sidebar-collapsed) > .sidebar,
#appView.app-shell:not(.sidebar-collapsed):has(#dashboardView.workspace-home:not(.hidden)) > .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell:not(.sidebar-collapsed) > .sidebar,
#appView .sidebar,
#appView.app-shell:has(#dashboardView.workspace-home:not(.hidden)) .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView .sidebar {
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
}

#appView.app-shell:not(.sidebar-collapsed) > .content {
  flex: 1 1 calc(100vw - 220px) !important;
  max-width: calc(100vw - 220px) !important;
}

#appView #nav {
  padding-left: 12px !important;
  padding-right: 14px !important;
}

#appView #nav .nav-section-toggle,
#appView #nav .system-entry > button {
  padding-left: 12px !important;
  padding-right: 34px !important;
}

#appView #nav [data-nav-toggle],
#appView #nav [data-nav-subtoggle] {
  padding-right: 34px !important;
}

#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::after {
  right: 14px !important;
}

#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle {
  padding-left: 44px !important;
  padding-right: 34px !important;
}

#appView #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-children > button {
  padding-left: 52px !important;
  padding-right: 14px !important;
}

#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  padding-left: 56px !important;
  padding-right: 14px !important;
}

#appView #nav button,
#appView #nav button > span {
  min-width: 0 !important;
}

/* v367: brand library and brand-based new product board. */
.new-product-form select[multiple] {
  min-height: 94px;
  padding: 8px 10px;
}

.new-product-brand-group {
  display: grid;
  gap: 8px;
}

.new-product-brand-group h4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 8px 0 0;
  padding: 0 2px;
  color: #42526a;
  font-size: 13px;
}

.new-product-brand-group h4 span {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: #edf3f8;
  color: #4b6078;
  font-size: 12px;
}

.new-product-people-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.new-product-people-tags span {
  padding: 4px 8px;
  border: 1px solid #dbe5ee;
  border-radius: 999px;
  background: #f7fafc;
  color: #526277;
  font-size: 12px;
  font-weight: 700;
}

.new-product-brand-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.new-product-brand-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #dfe8f0;
  border-radius: 8px;
  background: #fff;
}

.new-product-brand-card.empty {
  background: #fbfcfe;
}

.new-product-brand-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.new-product-brand-card header p,
.new-product-brand-card header h4,
.new-product-brand-card > p {
  margin: 0;
}

.new-product-brand-card header p {
  color: #6b7890;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.new-product-brand-card header h4 {
  margin-top: 4px;
  color: #172033;
  font-size: 18px;
}

.new-product-brand-card header span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef4fa;
  color: #465a73;
  font-size: 12px;
  font-weight: 800;
}

.new-product-brand-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.new-product-brand-card dl div {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: #f7fafc;
}

.new-product-brand-card dt {
  color: #7a8798;
  font-size: 12px;
}

.new-product-brand-card dd {
  margin: 4px 0 0;
  color: #263449;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.new-product-brand-card > p {
  color: #526277;
  line-height: 1.6;
}

.new-product-brand-projects {
  display: grid;
  gap: 8px;
}

.new-product-brand-projects button {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 9px 10px;
  text-align: left;
  border: 1px solid #e1e8f0;
  border-radius: 8px;
  background: #fbfdff;
  box-shadow: none;
}

.new-product-brand-projects button b {
  color: #1f2d40;
}

.new-product-brand-projects button span,
.new-product-brand-projects button em,
.new-product-brand-projects small {
  color: #68768a;
  font-style: normal;
  font-size: 12px;
}

.product-knowledge-groups {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.product-knowledge-brand {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #dfe8f0;
  border-radius: 8px;
  background: #fff;
}

.product-knowledge-brand > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf2f7;
}

.product-knowledge-brand h4,
.product-knowledge-projects h5,
.product-knowledge-item p {
  margin: 0;
}

.product-knowledge-brand h4 {
  color: #1f2d40;
  font-size: 18px;
}

.product-knowledge-brand > header span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef4fa;
  color: #465a73;
  font-size: 12px;
  font-weight: 800;
}

.product-knowledge-projects {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.product-knowledge-projects > article {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e4ebf3;
  border-radius: 8px;
  background: #fbfdff;
}

.product-knowledge-projects h5 {
  color: #263449;
  font-size: 15px;
}

.product-knowledge-item {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #edf2f7;
}

.product-knowledge-item b {
  color: #38506d;
}

.product-knowledge-item p {
  color: #526277;
  line-height: 1.6;
}

.product-knowledge-item span {
  color: #7a8798;
  font-size: 12px;
}

@media (max-width: 1100px) {
  .new-product-brand-board {
    grid-template-columns: 1fr;
  }
  .new-product-brand-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-knowledge-projects {
    grid-template-columns: 1fr;
  }
}

/* v369: keep a single fold arrow; hide legacy b-node arrows in every nav level. */
#appView #nav .nav-section-toggle > b,
#appView #nav .nav-subsection-toggle > b,
#appView #nav [data-nav-toggle] > b,
#appView #nav [data-nav-subtoggle] > b {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex-basis: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

#appView #nav .nav-section-toggle > b::before,
#appView #nav .nav-section-toggle > b::after,
#appView #nav .nav-subsection-toggle > b::before,
#appView #nav .nav-subsection-toggle > b::after {
  display: none !important;
  content: none !important;
}

#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::after {
  content: "v" !important;
  display: inline-flex !important;
  right: 14px !important;
}

#appView #nav .nav-section.collapsed > [data-nav-toggle]::after,
#appView #nav .nav-subsection.collapsed > [data-nav-subtoggle]::after {
  content: ">" !important;
}
.new-product-quote-highlight {
  color: #c62828;
  font-weight: 700;
  background: rgba(198, 40, 40, 0.08);
  border-radius: 3px;
  padding: 0 2px;
}


.new-product-ai-status.pending {
  color: #9a5b00;
  background: #fff7e6;
  border: 1px solid #ffd591;
  border-radius: 6px;
  padding: 8px 10px;
}

body.new-product-sop-opened {
  overflow: hidden;
}

.new-product-sop-open {
  flex: 0 0 auto;
  height: 28px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #d5dfeb;
  border-radius: 6px;
  color: #315d91;
  background: #f8fafc;
  box-shadow: none;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
}

.new-product-sop-open:hover {
  border-color: #2f6fed;
  color: #1d55b5;
  background: #eef5ff;
}

.new-product-sop-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 29, 50, 0.55);
}

.new-product-sop-modal.hidden {
  display: none !important;
}

.new-product-sop-dialog {
  width: min(1320px, 96vw);
  height: min(900px, 94vh);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #d6e0ec;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(15, 29, 50, 0.24);
}

.new-product-sop-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 24px;
  padding: 22px 26px 18px;
  border-bottom: 1px solid #dfe7f0;
  background: #ffffff;
}

.new-product-sop-head h3 {
  margin: 3px 0 6px;
  color: #15243b;
  font-size: 24px;
  letter-spacing: 0;
}

.new-product-sop-head > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}

.new-product-sop-head > div:first-child > p:not(.eyebrow) {
  max-width: 960px;
  margin: 0;
  color: #536985;
  line-height: 1.7;
}

.new-product-sop-head small {
  display: block;
  margin-top: 8px;
  color: #8796aa;
}

.new-product-sop-head input,
.new-product-sop-head textarea {
  width: 100%;
  border: 1px solid #9cb5d2;
  border-radius: 5px;
  padding: 9px 10px;
  color: #15243b;
  background: #ffffff;
}

.new-product-sop-head h3 input {
  font: inherit;
}

.new-product-sop-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.new-product-sop-close {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #ced9e6;
  border-radius: 50%;
  color: #536985;
  background: #ffffff;
  font-size: 24px;
  line-height: 1;
}

.new-product-sop-close:hover {
  color: #c62942;
  border-color: #efb4bf;
  background: #fff5f7;
}

.new-product-sop-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
}

.new-product-sop-nav {
  min-height: 0;
  overflow-y: auto;
  padding: 16px 12px;
  border-right: 1px solid #dfe7f0;
  background: #f6f8fb;
}

.new-product-sop-nav button {
  width: 100%;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 50px;
  margin-bottom: 7px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #293f5d;
  background: transparent;
  text-align: left;
}

.new-product-sop-nav button:hover {
  border-color: #c8d7ea;
  background: #ffffff;
}

.new-product-sop-nav span {
  color: #2f6fed;
  font-size: 12px;
  font-weight: 800;
}

.new-product-sop-nav strong {
  min-width: 0;
  font-size: 14px;
  line-height: 1.35;
}

.new-product-sop-content {
  min-height: 0;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding: 24px 28px 56px;
  background: #ffffff;
}

.new-product-sop-loading {
  padding: 80px 24px;
  color: #60738d;
  text-align: center;
}

.new-product-sop-section {
  scroll-margin-top: 18px;
  padding: 0 0 30px;
  margin: 0 0 30px;
  border-bottom: 1px solid #dfe7f0;
}

.new-product-sop-section:last-child {
  border-bottom: 0;
}

.new-product-sop-section > header {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.new-product-sop-section > header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 8px;
  border-radius: 5px;
  color: #ffffff;
  background: #2f6fed;
  font-size: 12px;
  font-weight: 800;
}

.new-product-sop-section > header p {
  margin: 0 0 2px;
  color: #8090a5;
  font-size: 12px;
}

.new-product-sop-section > header h4 {
  margin: 0;
  color: #172943;
  font-size: 20px;
  letter-spacing: 0;
}

.new-product-sop-section > header em {
  color: #526b8b;
  font-style: normal;
  font-weight: 700;
}

.new-product-sop-section-title-edit {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 8px;
}

.new-product-sop-section input,
.new-product-sop-section textarea {
  width: 100%;
  border: 1px solid #9cb5d2;
  border-radius: 5px;
  padding: 9px 10px;
  color: #172943;
  background: #ffffff;
  line-height: 1.6;
}

.new-product-sop-path {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: 14px;
  border-left: 3px solid #2f6fed;
  background: #f4f7fb;
}

.new-product-sop-path b {
  color: #24466f;
}

.new-product-sop-path span {
  color: #415a78;
  line-height: 1.6;
}

.new-product-sop-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
  gap: 12px;
}

.new-product-sop-block,
.new-product-sop-edit-field {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #dce5ef;
  border-radius: 6px;
  background: #ffffff;
}

.new-product-sop-block.wide,
.new-product-sop-edit-field.wide {
  grid-column: 1 / -1;
}

.new-product-sop-block h5,
.new-product-sop-edit-field > span {
  display: block;
  margin: 0 0 8px;
  color: #213a5a;
  font-size: 14px;
  font-weight: 800;
}

.new-product-sop-block p,
.new-product-sop-block li {
  margin: 0 0 7px;
  color: #425a77;
  line-height: 1.75;
}

.new-product-sop-block ol {
  margin: 0;
  padding-left: 24px;
}

.new-product-sop-block.result {
  border-left: 3px solid #24986c;
  background: #f2fbf7;
}

.new-product-sop-block.note {
  border-left: 3px solid #e2a01d;
  background: #fff9ed;
}

.new-product-sop-downloads {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #d7e3f2;
  border-radius: 6px;
  background: #f8fbff;
}

.new-product-sop-downloads h5 {
  margin: 0 0 10px;
  color: #263f60;
  font-size: 14px;
}

.new-product-sop-downloads > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.new-product-sop-downloads a {
  min-width: 180px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
  padding: 9px 12px;
  border: 1px solid #c9d9ee;
  border-radius: 6px;
  color: #1e4778;
  background: #ffffff;
  text-decoration: none;
}

.new-product-sop-downloads a:hover {
  border-color: #2f72e5;
  background: #f2f7ff;
}

.new-product-sop-downloads a > span {
  grid-row: 1 / 3;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #2f72e5;
  font-weight: 700;
}

.new-product-sop-downloads a strong {
  overflow-wrap: anywhere;
  font-size: 14px;
}

.new-product-sop-downloads a small {
  color: #7689a1;
  font-size: 12px;
}
.new-product-sop-image-upload {
  width: fit-content;
  display: grid;
  grid-template-columns: 30px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
  margin-top: 16px;
  padding: 9px 12px;
  border: 1px dashed #8aaddb;
  border-radius: 6px;
  color: #214b7b;
  background: #f5f9ff;
  cursor: pointer;
}

.new-product-sop-image-upload:hover {
  border-color: #2f72e5;
  background: #edf5ff;
}

.new-product-sop-image-upload > span {
  grid-row: 1 / 3;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #2f72e5;
  font-size: 19px;
  line-height: 1;
}

.new-product-sop-image-upload strong {
  font-size: 14px;
}

.new-product-sop-image-upload small {
  color: #71849d;
  font-size: 12px;
}

.new-product-sop-image-upload input {
  display: none;
}

.new-product-sop-image-edit-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 8px;
  padding: 9px;
  background: #ffffff;
}

.new-product-sop-image-edit-row input {
  width: 100%;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid #cbd8e8;
  border-radius: 4px;
}

.new-product-sop-image-edit-row button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #efb8bd;
  border-radius: 4px;
  color: #bb3040;
  background: #fff7f8;
  font-size: 18px;
  cursor: pointer;
}

.new-product-sop-image-edit-row button:hover {
  border-color: #d94c5b;
  background: #fff0f2;
}
.new-product-sop-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.new-product-sop-images figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d7e1ed;
  border-radius: 6px;
  background: #f7f9fc;
}

.new-product-sop-image-button {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 8.5;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: auto;
  background: #eef2f7;
  cursor: zoom-in;
}

.new-product-sop-images img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #ffffff;
}

.new-product-sop-images figcaption {
  padding: 9px 11px;
  color: #60738d;
  font-size: 13px;
  line-height: 1.5;
}

.new-product-sop-image-viewer {
  position: fixed;
  inset: 0;
  z-index: 10070;
  display: grid;
  place-items: center;
  padding: 64px 28px 28px;
  background: rgba(8, 18, 32, 0.9);
}

.new-product-sop-image-viewer.hidden {
  display: none !important;
}

.new-product-sop-image-viewer > div {
  max-width: min(1500px, 96vw);
  max-height: calc(100vh - 92px);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border-radius: 6px;
  background: #ffffff;
}

.new-product-sop-image-viewer img {
  max-width: 100%;
  max-height: calc(100vh - 150px);
  display: block;
  object-fit: contain;
}

.new-product-sop-image-viewer p {
  margin: 0;
  padding: 10px 14px;
  color: #425a77;
  background: #ffffff;
  text-align: center;
}

.new-product-sop-image-close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 1;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  color: #ffffff;
  background: rgba(8, 18, 32, 0.65);
  font-size: 28px;
  line-height: 1;
}

@media (max-width: 900px) {
  .new-product-sop-modal {
    padding: 0;
  }

  .new-product-sop-dialog {
    width: 100vw;
    height: 100vh;
    border: 0;
    border-radius: 0;
  }

  .new-product-sop-head {
    padding: 16px;
  }

  .new-product-sop-actions {
    width: 100%;
    justify-content: flex-end;
  }

  .new-product-sop-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .new-product-sop-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px 12px;
    border-right: 0;
    border-bottom: 1px solid #dfe7f0;
  }

  .new-product-sop-nav button {
    flex: 0 0 180px;
    margin: 0;
  }

  .new-product-sop-content {
    padding: 18px 14px 44px;
  }

  .new-product-sop-grid,
  .new-product-sop-images {
    grid-template-columns: 1fr;
  }

  .new-product-sop-section > header {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .new-product-sop-section > header em {
    grid-column: 2;
  }
}


/* v599: compact research evidence and selectable target-user workspace */
.new-product-research-archive {
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid #d9e3ef;
  border-radius: 7px;
  background: #f8fafc;
}

.new-product-research-archive > summary {
  cursor: pointer;
  color: #243b5a;
  font-weight: 800;
}

.new-product-research-archive > p {
  margin: 8px 0 0;
  color: #6b778c;
}

.new-product-target-selection {
  display: grid;
  gap: 14px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #cddbeb;
  border-radius: 8px;
  background: #fbfdff;
}

.new-product-target-selection > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.new-product-target-selection h5,
.new-product-target-selection p {
  margin: 0;
}

.new-product-target-selection header p {
  margin-top: 4px;
  color: #65758b;
}

.new-product-target-selection header > strong {
  color: #1659b7;
}

.new-product-segment-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  align-content: start;
  gap: 10px;
}

.new-product-segment-card {
  display: grid;
  align-self: start;
  height: auto;
  min-height: 0;
  gap: 10px;
  min-width: 0;
  padding: 13px;
  border: 1px solid #d9e3ef;
  border-radius: 7px;
  background: #fff;
  cursor: default;
}

.new-product-segment-card:hover,
.new-product-segment-card.selected {
  border-color: #2f6ee8;
  box-shadow: 0 0 0 2px rgba(47, 110, 232, 0.1);
}

.new-product-segment-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
}

.new-product-segment-card-head > span:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.new-product-segment-card-head b {
  color: #fff;
  background: #2f6ee8;
  border-radius: 4px;
  padding: 3px 6px;
  white-space: nowrap;
}

.new-product-segment-position {
  color: #365a8a;
  font-size: 12px;
}

.new-product-segment-choice {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #174f9c;
  font-weight: 700;
  cursor: pointer;
}

.new-product-segment-choice input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #2f6ee8;
}

.new-product-segment-definition {
  margin: 0;
  color: #263b55;
  line-height: 1.65;
}

.new-product-segment-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
}

.new-product-segment-card-grid > span {
  color: #344861;
  line-height: 1.55;
}

.new-product-segment-card-grid small {
  display: block;
  margin-bottom: 2px;
  color: #75849a;
  font-weight: 700;
}

.new-product-segment-score-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.new-product-segment-score-strip > span {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  background: #f4f7fb;
  border-radius: 5px;
  text-align: center;
}

.new-product-segment-score-strip small {
  color: #718198;
}

.new-product-segment-score-strip b {
  color: #1f4f91;
}

.new-product-segment-card details {
  border-top: 1px solid #edf1f6;
  padding-top: 8px;
}

.new-product-segment-card details summary {
  cursor: pointer;
  color: #315d99;
  font-weight: 700;
}

.new-product-segment-card details p {
  margin: 7px 0 0;
}

.new-product-target-selection > label {
  display: grid;
  gap: 6px;
  color: #263b55;
  font-weight: 700;
}

.new-product-target-selection textarea {
  width: 100%;
  resize: vertical;
}

.new-product-target-selection > button {
  justify-self: end;
}

.new-product-segmentation-result,
.new-product-segmentation-result .new-product-v2-report,
.new-product-target-selection {
  min-height: 0;
  align-content: start;
}

@media (max-width: 900px) {
  .new-product-segment-grid,
  .new-product-segment-card-grid,
  .new-product-segment-score-strip {
    grid-template-columns: 1fr;
  }

  .new-product-target-selection > header {
    display: grid;
  }

  .new-product-segment-card-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .new-product-segment-position {
    grid-column: 1 / -1;
  }
}


/* v601: stage 8 decision tables use the full canvas and reserve space for user voices */
.new-product-research-subsection {
  min-width: 0;
}

.new-product-research-table:not(.new-product-research-table-voice):not(.new-product-research-table-interview) table {
  width: 100%;
  max-width: none;
  table-layout: fixed;
}

.new-product-research-table:not(.new-product-research-table-voice):not(.new-product-research-table-interview) th,
.new-product-research-table:not(.new-product-research-table-voice):not(.new-product-research-table-interview) td {
  width: auto;
  min-width: 0;
  max-width: none;
}

.new-product-research-table-segments table {
  min-width: 1660px;
}

.new-product-research-table-segments th:nth-child(1),
.new-product-research-table-segments td:nth-child(1) { width: 120px; }
.new-product-research-table-segments th:nth-child(2),
.new-product-research-table-segments td:nth-child(2) { width: 170px; }
.new-product-research-table-segments th:nth-child(3),
.new-product-research-table-segments td:nth-child(3),
.new-product-research-table-segments th:nth-child(4),
.new-product-research-table-segments td:nth-child(4),
.new-product-research-table-segments th:nth-child(5),
.new-product-research-table-segments td:nth-child(5),
.new-product-research-table-segments th:nth-child(6),
.new-product-research-table-segments td:nth-child(6),
.new-product-research-table-segments th:nth-child(7),
.new-product-research-table-segments td:nth-child(7) { width: 170px; }
.new-product-research-table-segments th:nth-child(8),
.new-product-research-table-segments td:nth-child(8) { width: 360px; }
.new-product-research-table-segments th:nth-child(9),
.new-product-research-table-segments td:nth-child(9) { width: 120px; }

.new-product-research-table-scenarios table {
  min-width: 1700px;
}

.new-product-research-table-scenarios th:nth-child(1),
.new-product-research-table-scenarios td:nth-child(1) { width: 120px; }
.new-product-research-table-scenarios th:nth-child(2),
.new-product-research-table-scenarios td:nth-child(2),
.new-product-research-table-scenarios th:nth-child(3),
.new-product-research-table-scenarios td:nth-child(3),
.new-product-research-table-scenarios th:nth-child(4),
.new-product-research-table-scenarios td:nth-child(4),
.new-product-research-table-scenarios th:nth-child(5),
.new-product-research-table-scenarios td:nth-child(5),
.new-product-research-table-scenarios th:nth-child(6),
.new-product-research-table-scenarios td:nth-child(6) { width: 190px; }
.new-product-research-table-scenarios th:nth-child(7),
.new-product-research-table-scenarios td:nth-child(7) { width: 105px; }
.new-product-research-table-scenarios th:nth-child(8),
.new-product-research-table-scenarios td:nth-child(8) { width: 380px; }
.new-product-research-table-scenarios th:nth-child(9),
.new-product-research-table-scenarios td:nth-child(9) { width: 170px; }

.new-product-research-table-needs table {
  min-width: 1900px;
}

.new-product-research-table-needs th:nth-child(1),
.new-product-research-table-needs td:nth-child(1),
.new-product-research-table-needs th:nth-child(2),
.new-product-research-table-needs td:nth-child(2) { width: 125px; }
.new-product-research-table-needs th:nth-child(3),
.new-product-research-table-needs td:nth-child(3) { width: 270px; }
.new-product-research-table-needs th:nth-child(4),
.new-product-research-table-needs td:nth-child(4) { width: 170px; }
.new-product-research-table-needs th:nth-child(n+5):nth-child(-n+9),
.new-product-research-table-needs td:nth-child(n+5):nth-child(-n+9) { width: 105px; }
.new-product-research-table-needs th:nth-child(10),
.new-product-research-table-needs td:nth-child(10) { width: 400px; }

.new-product-research-table-matrix table {
  min-width: 1120px;
}

.new-product-research-table-matrix th:nth-child(1),
.new-product-research-table-matrix td:nth-child(1) { width: 150px; }
.new-product-research-table-matrix th:nth-child(2),
.new-product-research-table-matrix td:nth-child(2) { width: 210px; }
.new-product-research-table-matrix th:nth-child(3),
.new-product-research-table-matrix td:nth-child(3),
.new-product-research-table-matrix th:nth-child(4),
.new-product-research-table-matrix td:nth-child(4) { width: 260px; }
.new-product-research-table-matrix th:nth-child(5),
.new-product-research-table-matrix td:nth-child(5) { width: 360px; }

.new-product-research-table-decision table {
  min-width: 1560px;
}

.new-product-research-table-decision th:nth-child(1),
.new-product-research-table-decision td:nth-child(1) { width: 150px; }
.new-product-research-table-decision th:nth-child(2),
.new-product-research-table-decision td:nth-child(2) { width: 170px; }
.new-product-research-table-decision th:nth-child(3),
.new-product-research-table-decision td:nth-child(3) { width: 140px; }
.new-product-research-table-decision th:nth-child(4),
.new-product-research-table-decision td:nth-child(4),
.new-product-research-table-decision th:nth-child(5),
.new-product-research-table-decision td:nth-child(5),
.new-product-research-table-decision th:nth-child(6),
.new-product-research-table-decision td:nth-child(6) { width: 210px; }
.new-product-research-table-decision th:nth-child(7),
.new-product-research-table-decision td:nth-child(7) { width: 380px; }
.new-product-research-table-decision th:nth-child(8),
.new-product-research-table-decision td:nth-child(8) { width: 100px; }

.new-product-research-table-barriers table {
  min-width: 1420px;
}

.new-product-research-table-barriers th:nth-child(1),
.new-product-research-table-barriers td:nth-child(1) { width: 160px; }
.new-product-research-table-barriers th:nth-child(2),
.new-product-research-table-barriers td:nth-child(2),
.new-product-research-table-barriers th:nth-child(3),
.new-product-research-table-barriers td:nth-child(3) { width: 150px; }
.new-product-research-table-barriers th:nth-child(4),
.new-product-research-table-barriers td:nth-child(4),
.new-product-research-table-barriers th:nth-child(5),
.new-product-research-table-barriers td:nth-child(5) { width: 230px; }
.new-product-research-table-barriers th:nth-child(6),
.new-product-research-table-barriers td:nth-child(6) { width: 400px; }
.new-product-research-table-barriers th:nth-child(7),
.new-product-research-table-barriers td:nth-child(7) { width: 100px; }

.new-product-research-table-survey table {
  width: 100%;
  min-width: 1180px;
}

.new-product-research-table-survey th:nth-child(1),
.new-product-research-table-survey td:nth-child(1) { width: 150px; }
.new-product-research-table-survey th:nth-child(2),
.new-product-research-table-survey td:nth-child(2) { width: 180px; }
.new-product-research-table-survey th:nth-child(3),
.new-product-research-table-survey td:nth-child(3) { width: 320px; }
.new-product-research-table-survey th:nth-child(4),
.new-product-research-table-survey td:nth-child(4) { width: 260px; }
.new-product-research-table-survey th:nth-child(n+5),
.new-product-research-table-survey td:nth-child(n+5) { width: 300px; }

.new-product-research-table-segments td:nth-child(8),
.new-product-research-table-scenarios td:nth-child(8),
.new-product-research-table-needs td:nth-child(10),
.new-product-research-table-matrix td:nth-child(5),
.new-product-research-table-decision td:nth-child(7),
.new-product-research-table-barriers td:nth-child(6) {
  color: #273b55;
  background: #fbfdff;
  line-height: 1.75;
}


/* v604: stage 9 evidence-led layout */
.new-product-segmentation-summary {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.new-product-segmentation-summary-section {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-left: 3px solid #2f6ee8;
  background: #f7faff;
}

.new-product-segmentation-summary-section h6 {
  margin: 0 0 2px;
  color: #17233a;
  font-size: 16px;
}

.new-product-segmentation-summary-section p {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  color: #40536c;
  line-height: 1.75;
}

.new-product-segmentation-summary-section p strong {
  color: #1f4f91;
  font-weight: 800;
}

.new-product-segmentation-summary-section ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 20px;
  color: #40536c;
  line-height: 1.7;
}

.new-product-segment-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.new-product-segment-card-grid > span {
  padding: 8px 10px;
  border-left: 2px solid #dce7f5;
  background: #f8fafc;
}

.new-product-segment-score-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.new-product-segmentation-table .table-wrap {
  overflow-x: visible;
}

.new-product-segmentation-table table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.new-product-segmentation-table th,
.new-product-segmentation-table td {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  word-break: break-word;
  vertical-align: top;
  line-height: 1.6;
}

.new-product-segmentation-value-table th:first-child,
.new-product-segmentation-value-table td:first-child {
  width: 64px;
}

.new-product-segmentation-value-table th:nth-child(2),
.new-product-segmentation-value-table td:nth-child(2) {
  width: 190px;
}

.new-product-segmentation-value-table th:last-child,
.new-product-segmentation-value-table td:last-child {
  width: 240px;
}

.new-product-segmentation-candidates {
  display: grid;
  gap: 10px;
}

.new-product-segmentation-candidate {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #d9e3ef;
  border-radius: 7px;
  background: #fff;
}

.new-product-segmentation-candidate header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.new-product-segmentation-candidate header > span,
.new-product-segmentation-candidate header > b {
  padding: 3px 7px;
  border-radius: 4px;
  background: #edf4ff;
  color: #245aa5;
  font-size: 12px;
}

.new-product-segmentation-candidate header > strong {
  color: #17233a;
}

.new-product-segmentation-candidate > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.new-product-segmentation-candidate p {
  margin: 0;
  padding: 9px 10px;
  background: #f8fafc;
  color: #40536c;
  line-height: 1.65;
}

.new-product-segmentation-candidate small {
  display: block;
  margin-bottom: 3px;
  color: #6a7a90;
  font-weight: 800;
}

@media (max-width: 900px) {
  .new-product-segmentation-summary-section p,
  .new-product-segment-card-grid,
  .new-product-segment-score-strip,
  .new-product-segmentation-candidate > div {
    grid-template-columns: 1fr;
  }

  .new-product-segmentation-table .table-wrap {
    overflow-x: auto;
  }

  .new-product-segmentation-table table {
    min-width: 820px;
  }
}


/* v605: stage 9 rich scored persona */
.new-product-segment-card-primary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
}

.new-product-segment-card-primary > section {
  min-width: 0;
  padding: 10px 12px;
  border-top: 2px solid #cfe0f7;
  background: #f8fafc;
}

.new-product-segment-card-primary small,
.new-product-segment-card-primary p {
  display: block;
  margin: 0;
}

.new-product-segment-card-primary small {
  margin-bottom: 6px;
  color: #5e718a;
  font-weight: 800;
}

.new-product-segment-card-primary p {
  color: #2f435d;
  line-height: 1.65;
}

.new-product-segment-card-primary p + p {
  margin-top: 4px;
}

.new-product-segment-card-primary p b {
  color: #1d4f91;
}

.new-product-segment-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.new-product-segment-score-strip > span {
  padding: 8px 10px;
}

.new-product-segment-score-strip b {
  font-size: 17px;
}

@media (max-width: 900px) {
  .new-product-segment-card-primary,
  .new-product-segment-card-grid {
    grid-template-columns: 1fr;
  }
}


/* v608: stage 9 card selection */
.new-product-segmentation-result .new-product-segment-card-head {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.new-product-segment-composite-score {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: auto;
  padding: 7px 10px;
  border: 1px solid #b8cffb;
  border-radius: 6px;
  background: #f3f7ff;
  color: #214f9b;
  white-space: nowrap;
}

.new-product-segment-composite-score small {
  color: #60718c;
  font-size: 12px;
}

.new-product-segment-composite-score strong {
  font-size: 20px;
  line-height: 1;
}

.new-product-segment-composite-score em {
  color: #7a879b;
  font-size: 12px;
  font-style: normal;
}

@media (max-width: 760px) {
  .new-product-segment-composite-score {
    margin-left: 0;
  }
}


.new-product-segmentation-result .new-product-segment-choice {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid #b8cffb;
  border-radius: 6px;
  background: #fff;
  white-space: nowrap;
}

.new-product-segmentation-result .new-product-segment-card.selected .new-product-segment-choice {
  border-color: #2f6ee8;
  background: #edf4ff;
}

@media (max-width: 760px) {
  .new-product-segmentation-result .new-product-segment-card-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .new-product-segmentation-result .new-product-segment-choice {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

/* v614: evidence-first product definition workspace. */
.new-product-definition-workspace{margin:4px 0 22px;padding:0 0 20px;border-bottom:1px solid #dce6f0}
.new-product-definition-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}
.new-product-definition-workspace-head h4{margin:2px 0 6px;font-size:18px;color:#172b45}
.new-product-definition-workspace-head p:not(.eyebrow){margin:0;color:#5b6f86}
.new-product-definition-progress{flex:0 0 108px;text-align:right}
.new-product-definition-progress strong{display:block;color:#1f5fbf;font-size:24px}
.new-product-definition-progress span{color:#73859a;font-size:12px}
.new-product-definition-target{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-left:4px solid #2f6fed;background:#f2f7ff}
.new-product-definition-target span,.new-product-definition-target small{color:#60758d;font-size:12px}
.new-product-definition-target strong{color:#174ea6;font-size:16px}
.new-product-definition-read-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.new-product-definition-read-grid article{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 11px;border:1px solid #dce6f0;border-radius:6px;background:#fff}
.new-product-definition-read-grid article>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf2f7;color:#6d8096;font-size:12px}
.new-product-definition-read-grid article.done>b{background:#e2f4ea;color:#18794e}
.new-product-definition-read-grid article strong,.new-product-definition-read-grid article span{display:block;overflow-wrap:anywhere}
.new-product-definition-read-grid article strong{color:#243b55;font-size:13px}
.new-product-definition-read-grid article span{margin-top:2px;color:#718399;font-size:11px}
.new-product-definition-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.new-product-definition-rules span{padding:9px 11px;background:#f7f9fc;color:#4f647b;font-size:12px}
.new-product-definition-rules b{margin-right:6px;color:#244d7f}
.new-product-definition-benchmark{margin:12px 0 0;padding:9px 11px;border-left:3px solid #d97706;background:#fff8eb;color:#72511c}
.new-product-definition-result-groups>details{margin:10px 0;border:1px solid #dce6f0;border-radius:6px;overflow:hidden}
.new-product-definition-result-groups>details>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f5f8fb;color:#1f3b5a;font-weight:700;cursor:pointer}
.new-product-definition-result-groups>details[open]>summary{background:#eaf2ff;color:#174ea6}
.new-product-definition-result-groups>details>summary small{font-weight:400;color:#718399}
.new-product-definition-result-groups>details>.new-product-definition-group-body{padding:2px 14px 14px}
.new-product-definition-result-unit{padding:4px 0 14px}
.new-product-definition-result-unit+.new-product-definition-result-unit{border-top:1px solid #dfe8f1}
.new-product-definition-result-unit>.new-product-ai-tables{margin-top:4px}
.new-product-definition-result-unit .new-product-definition-table{margin:0}
.new-product-definition-result-unit .new-product-definition-table h5{margin:0 0 8px;color:#244d7f;font-size:14px}
.new-product-definition-result .new-product-report-subsection{padding:12px 0;border-bottom:1px solid #e5ecf3}
.new-product-definition-result-unit>.new-product-report-subsection:last-of-type{border-bottom:0}
.new-product-definition-result .new-product-report-subsection:last-child{border-bottom:0}
.new-product-definition-result .new-product-report-subsection h6{margin:0 0 9px;color:#173d6b;text-decoration:underline;text-decoration-color:#9cbce3;text-decoration-thickness:2px;text-underline-offset:5px}
@media(max-width:900px){.new-product-definition-read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.new-product-definition-rules{grid-template-columns:1fr}}
@media(max-width:620px){.new-product-definition-workspace-head{display:block}.new-product-definition-progress{text-align:left;margin-top:10px}.new-product-definition-target{grid-template-columns:1fr}.new-product-definition-read-grid{grid-template-columns:1fr}}
.brand-version-badge {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #ef4444 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  margin-left: 1px !important;
  padding: 0 !important;
  cursor: default !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transform: translate(-1px, 5px) !important;
}

.brand-version-badge:focus,
.brand-version-badge:focus-visible,
.brand-version-badge:hover,
.brand-version-badge:active {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.brand-version-badge.has-update {
  color: #ef4444 !important;
  cursor: default !important;
  text-decoration: none !important;
}

#appView.sidebar-collapsed .brand-version-badge,
#appView .sidebar-collapsed .brand-version-badge {
  display: none !important;
}

.brand-version-badge.fallback {
  position: fixed;
  right: 16px;
  top: 12px;
  z-index: 9999;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

#appView.app-shell:not(.sidebar-collapsed) > .sidebar,
#appView .sidebar {
  width: 188px !important;
  min-width: 188px !important;
  max-width: 188px !important;
  flex-basis: 188px !important;
  background: linear-gradient(180deg, #fbfcff 0%, #eef5ff 100%) !important;
  border-right: 1px solid rgba(148, 163, 184, .24) !important;
}

#appView.app-shell:not(.sidebar-collapsed) > .content {
  max-width: calc(100vw - 188px) !important;
}

#appView .sidebar .brand {
  padding: 14px 12px 10px !important;
  gap: 2px !important;
}

#appView #nav {
  padding: 8px 10px 14px !important;
  gap: 4px !important;
}

#appView #nav .nav-section {
  margin: 0 !important;
  padding: 0 !important;
}

#appView #nav .nav-section-toggle,
#appView #nav .nav-home-button,
#appView #nav .system-entry > button {
  height: 38px !important;
  border-radius: 12px !important;
  padding: 0 12px !important;
  color: #475569 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

#appView #nav .nav-section-toggle:hover,
#appView #nav .nav-home-button:hover,
#appView #nav .system-entry > button:hover {
  color: #0f172a !important;
  background: rgba(255, 255, 255, .76) !important;
  border-color: rgba(203, 213, 225, .7) !important;
}

#appView #nav .nav-section-toggle.active,
#appView #nav .nav-home-button.active,
#appView #nav .system-entry > button.active,
#appView #nav .nav-section:has(button.active) > .nav-section-toggle {
  color: #0f172a !important;
  background: linear-gradient(135deg, #ffffff 0%, #eef6ff 100%) !important;
  border-color: rgba(59, 130, 246, .26) !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .10) !important;
}

#appView #nav .nav-section-toggle span,
#appView #nav .nav-home-button span,
#appView #nav .system-entry > button span {
  gap: 9px !important;
  min-width: 0 !important;
}

#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::after,
#appView #nav .nav-section-toggle > b,
#appView #nav .nav-subsection-toggle > b {
  display: none !important;
  content: none !important;
}

#appView #nav .nav-children {
  display: none !important;
}

#appView .brand-version-badge {
  display: inline-block !important;
  border: 0 !important;
  background: transparent !important;
  color: #ef4444 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  transform: translate(-2px, 5px) !important;
}

.module-subnav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0 18px 14px;
  padding: 10px 12px;
  border: 1px solid rgba(203, 213, 225, .72);
  border-radius: 18px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
  backdrop-filter: blur(14px);
}

.module-subnav.hidden {
  display: none !important;
}

.module-subnav-title {
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  padding: 0 4px 0 2px;
}

.module-subnav-track {
  display: flex;
  align-items: stretch;
  gap: 8px;
  overflow-x: auto;
  padding: 2px;
}

.module-subnav-track::-webkit-scrollbar {
  height: 0;
}

.module-subnav-item,
body button.module-subnav-item:not(.primary):not(.danger):not(.success) {
  display: inline-flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: max-content;
  min-height: 42px;
  padding: 7px 13px !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  box-shadow: none !important;
}

.module-subnav-item:hover,
body button.module-subnav-item:not(.primary):not(.danger):not(.success):hover {
  background: #eef6ff !important;
  border-color: rgba(147, 197, 253, .78) !important;
  color: #0f172a !important;
}

.module-subnav-item.active,
body button.module-subnav-item.active:not(.primary):not(.danger):not(.success) {
  background: linear-gradient(135deg, #2563eb 0%, #0f766e 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22) !important;
}

.module-subnav-group {
  display: block;
  margin-bottom: 2px;
  color: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  opacity: .58;
}

.module-subnav-item strong {
  font-size: 13px;
  line-height: 1.15;
  font-weight: 800;
}

@media (max-width: 900px) {
  .module-subnav {
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0 10px 12px;
  }
}


/* nav-clean-v13: SVG arrows, no font-dependent glyphs. */
#appView.app-shell:not(.sidebar-collapsed),
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell:not(.sidebar-collapsed) { grid-template-columns: 214px minmax(0, 1fr) !important; }
#appView.app-shell:not(.sidebar-collapsed) > .sidebar,
#appView .sidebar { width: 214px !important; min-width: 214px !important; max-width: 214px !important; flex: 0 0 214px !important; background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 54%, #f8fafc 100%) !important; border-right: 1px solid rgba(148, 163, 184, .22) !important; box-shadow: 12px 0 32px rgba(15, 23, 42, .035) !important; }
#appView.app-shell.sidebar-collapsed,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed { grid-template-columns: 64px minmax(0, 1fr) !important; }
#appView.app-shell.sidebar-collapsed > .sidebar,
#appView.app-shell.sidebar-collapsed:has(#dashboardView.workspace-home:not(.hidden)) > .sidebar,
body:has(#dashboardView.workspace-home:not(.hidden)) #appView.app-shell.sidebar-collapsed > .sidebar { width: 64px !important; min-width: 64px !important; max-width: 64px !important; flex: 0 0 64px !important; }
#appView.app-shell:not(.sidebar-collapsed) > .content { max-width: calc(100vw - 214px) !important; }
#appView.app-shell.sidebar-collapsed > .content { max-width: calc(100vw - 64px) !important; }

#appView #nav { display: flex !important; flex-direction: column !important; gap: 2px !important; padding: 8px 10px 14px !important; }
#appView #nav .nav-section,
#appView #nav .nav-subsection { margin: 0 !important; padding: 0 !important; }
#appView #nav .nav-section + .nav-section { margin-top: 2px !important; }

#appView #nav button::before,
#appView #nav button::after,
#appView #nav [data-nav-toggle]::before,
#appView #nav [data-nav-toggle]::after,
#appView #nav [data-nav-subtoggle]::before,
#appView #nav [data-nav-subtoggle]::after,
#appView #nav .nav-grandchildren button::before,
#appView #nav .nav-grandchildren button::after,
#appView #nav .nav-section-toggle > b,
#appView #nav .nav-subsection-toggle > b,
#appView #nav .nav-section-toggle > b::before,
#appView #nav .nav-section-toggle > b::after,
#appView #nav .nav-subsection-toggle > b::before,
#appView #nav .nav-subsection-toggle > b::after { content: none !important; display: none !important; }

#appView #nav .nav-section-toggle,
#appView #nav .nav-home-button,
#appView #nav .system-entry > button,
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle { position: relative !important; display: flex !important; align-items: center !important; width: 100% !important; box-sizing: border-box !important; background: transparent !important; border: 0 !important; box-shadow: none !important; outline: 0 !important; }
#appView #nav .nav-section-toggle,
#appView #nav .nav-home-button,
#appView #nav .system-entry > button { height: 38px !important; min-height: 38px !important; margin: 0 !important; padding: 0 30px 0 12px !important; color: #475569 !important; border-radius: 12px !important; font-size: 13.5px !important; font-weight: 680 !important; line-height: 1 !important; }
#appView #nav .nav-section-toggle.active,
#appView #nav .nav-home-button.active,
#appView #nav .system-entry > button.active,
#appView #nav .nav-section:has(button.active) > .nav-section-toggle,
#appView #nav .nav-subsection-toggle.active,
#appView #nav .nav-subsection:has(button.active) > .nav-subsection-toggle,
#appView #nav .nav-grandchildren button.active { background: transparent !important; border: 0 !important; box-shadow: none !important; }
#appView #nav .nav-section-toggle:hover,
#appView #nav .nav-home-button:hover,
#appView #nav .system-entry > button:hover,
#appView #nav .nav-subsection-toggle:hover,
#appView #nav .nav-children > button:hover,
#appView #nav .nav-grandchildren button:hover { background: rgba(219, 234, 254, .62) !important; color: #1e3a8a !important; }
#appView #nav .nav-section-toggle > span,
#appView #nav .nav-home-button > span,
#appView #nav .system-entry > button > span,
#appView #nav .nav-subsection-toggle > span { display: inline-flex !important; align-items: center !important; min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; }

#appView #nav .nav-arrow,
#appView.permission-compact-nav #nav .nav-arrow { position: absolute !important; right: 13px !important; top: 50% !important; display: block !important; width: 12px !important; height: 12px !important; margin: 0 !important; padding: 0 !important; opacity: .85 !important; transform: translateY(-50%) rotate(0deg) !important; transform-origin: center !important; pointer-events: none !important; visibility: visible !important; background-color: #94a3b8 !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat !important; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat !important; }
#appView #nav .nav-section.collapsed > .nav-section-toggle > .nav-arrow,
#appView #nav .nav-subsection.collapsed > .nav-subsection-toggle > .nav-arrow { transform: translateY(-50%) rotate(-90deg) !important; }

#appView #nav .nav-children { display: grid !important; gap: 1px !important; margin: 2px 0 6px 0 !important; padding: 0 0 0 10px !important; border-left: 1px solid rgba(148, 163, 184, .16) !important; }
#appView #nav .nav-section.collapsed > .nav-children,
#appView #nav .nav-subsection.collapsed > .nav-grandchildren { display: none !important; }
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle { height: 31px !important; min-height: 31px !important; margin: 0 !important; padding: 0 28px 0 10px !important; color: #334155 !important; border-radius: 9px !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1 !important; }
#appView #nav .nav-grandchildren,
#appView.permission-compact-nav #nav .nav-grandchildren { display: grid !important; gap: 0 !important; margin: 1px 0 4px 0 !important; padding: 0 0 0 12px !important; border-left: 1px dashed rgba(148, 163, 184, .18) !important; }
#appView #nav .nav-subsection:not(:has(.nav-grandchildren button:nth-child(2))) > .nav-grandchildren { display: none !important; }
#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button { height: 26px !important; min-height: 26px !important; margin: 0 !important; padding: 0 8px !important; color: #64748b !important; background: transparent !important; border: 0 !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 400 !important; line-height: 1 !important; }
#appView #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-children > button { height: 30px !important; min-height: 30px !important; margin: 0 !important; padding: 0 10px !important; color: #475569 !important; background: transparent !important; border: 0 !important; border-radius: 9px !important; font-size: 12.5px !important; font-weight: 560 !important; line-height: 1 !important; }
#appView.app-shell.sidebar-collapsed #nav .nav-children,
#appView.app-shell.sidebar-collapsed #nav .nav-subsection,
#appView.app-shell.sidebar-collapsed #nav .nav-grandchildren,
#appView.app-shell.sidebar-collapsed #nav .nav-arrow,
#appView.app-shell.sidebar-collapsed .brand-version-badge { display: none !important; }
#appView.app-shell.sidebar-collapsed #nav .nav-section-toggle,
#appView.app-shell.sidebar-collapsed #nav .nav-home-button,
#appView.app-shell.sidebar-collapsed #nav .system-entry > button { justify-content: center !important; width: 40px !important; padding: 0 !important; margin: 0 auto !important; }
#appView .brand-version-badge { display: inline-block !important; border: 0 !important; background: transparent !important; color: #ef4444 !important; box-shadow: none !important; padding: 0 !important; margin-left: 0 !important; font-size: 10px !important; line-height: 1 !important; transform: translate(-2px, 5px) !important; }

/* nav-third-dotfix-v1: remove leftover dot markers from third-level nav items. */
#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  list-style: none !important;
}
#appView #nav .nav-grandchildren button::marker,
#appView.permission-compact-nav #nav .nav-grandchildren button::marker,
#appView #nav .nav-grandchildren button::before,
#appView #nav .nav-grandchildren button::after,
#appView.permission-compact-nav #nav .nav-grandchildren button::before,
#appView.permission-compact-nav #nav .nav-grandchildren button::after,
#appView #nav .nav-grandchildren button.active::before,
#appView #nav .nav-grandchildren button.active::after,
#appView.permission-compact-nav #nav .nav-grandchildren button.active::before,
#appView.permission-compact-nav #nav .nav-grandchildren button.active::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}


/* creative-inline-v1: keep Creative Center inside the OA shell. */
.creative-center-shell { display: grid; gap: 12px; }
.creative-center-hero { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 92px; }
.creative-center-hero h3 { margin: 0; font-size: 24px; }
.creative-center-hero p:not(.eyebrow) { margin: 6px 0 0; color: #5b6b80; }
.creative-center-frame-panel { min-height: calc(100vh - 190px); border: 1px solid #d7e2ef; border-radius: 12px; overflow: hidden; background: #f7fbff; box-shadow: 0 14px 34px rgba(51, 83, 116, .08); }
#creativeCenterFrame { display: block; width: 100%; height: calc(100vh - 194px); min-height: 680px; border: 0; background: #eef3f8; }


/* nav-font-balance-v1: make second/third level navigation easier to read. */
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle,
#appView #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-children > button {
  font-size: 13.5px !important;
}
#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  font-size: 13px !important;
}

/* nav-font-scale-v676: strengthen level one and normalize level-two weight. */
#appView #nav .nav-section-toggle,
#appView #nav .nav-home-button,
#appView #nav .system-entry > button {
  font-size: 18px !important;
}
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle,
#appView #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-children > button {
  font-size: 16.2px !important;
  font-weight: 400 !important;
}
#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  font-size: 15.6px !important;
}

.product-library-frame-panel {
  height: calc(100vh - 118px);
  min-height: 680px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.product-library-frame-panel iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}
@media (max-width: 900px) {
  .product-library-frame-panel {
    height: calc(100vh - 102px);
    min-height: 620px;
    border-radius: 12px;
  }
}
/* nav-hierarchy-spacing-v677: open up nested navigation and connect hierarchy lines to labels. */
#appView #nav .nav-children {
  gap: 4px !important;
  margin: 4px 0 10px !important;
  padding-left: 0 !important;
  border-left-color: rgba(100, 116, 139, .46) !important;
}
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle,
#appView #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-children > button {
  position: relative !important;
  height: 35px !important;
  min-height: 35px !important;
  padding-left: 20px !important;
}
#appView #nav .nav-children > button::before,
#appView.permission-compact-nav #nav .nav-children > button::before,
#appView #nav .nav-subsection-toggle::before,
#appView.permission-compact-nav #nav .nav-subsection-toggle::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 12px !important;
  height: 0 !important;
  border-top: 1px solid rgba(100, 116, 139, .46) !important;
}
#appView #nav .nav-grandchildren,
#appView.permission-compact-nav #nav .nav-grandchildren {
  gap: 3px !important;
  margin: 3px 0 7px 12px !important;
  padding-left: 0 !important;
  border-left: 1px solid rgba(100, 116, 139, .38) !important;
}
#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  position: relative !important;
  height: 31px !important;
  min-height: 31px !important;
  padding-left: 20px !important;
}
#appView #nav .nav-grandchildren button::before,
#appView.permission-compact-nav #nav .nav-grandchildren button::before,
#appView #nav .nav-grandchildren button.active::before,
#appView.permission-compact-nav #nav .nav-grandchildren button.active::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 12px !important;
  height: 0 !important;
  border-top: 1px solid rgba(100, 116, 139, .38) !important;
}
/* nav-hierarchy-clean-v678: align three levels and remove horizontal tree branches. */
#appView #nav .nav-section-toggle,
#appView #nav .nav-home-button,
#appView #nav .system-entry > button {
  font-size: 19px !important;
  font-weight: 700 !important;
}
#appView #nav .nav-children {
  margin-left: 42px !important;
  padding-left: 0 !important;
  border-left: 1px solid rgba(100, 116, 139, .38) !important;
}
#appView #nav .nav-subsection-toggle,
#appView.permission-compact-nav #nav .nav-subsection-toggle,
#appView #nav .nav-children > button,
#appView.permission-compact-nav #nav .nav-children > button {
  padding-left: 14px !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
}
#appView #nav .nav-grandchildren,
#appView.permission-compact-nav #nav .nav-grandchildren {
  margin-left: 14px !important;
  padding-left: 0 !important;
  border-left: 1px solid rgba(100, 116, 139, .32) !important;
}
#appView #nav .nav-grandchildren button,
#appView.permission-compact-nav #nav .nav-grandchildren button {
  padding-left: 14px !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
}
#appView #nav .nav-children > button::before,
#appView.permission-compact-nav #nav .nav-children > button::before,
#appView #nav .nav-subsection-toggle::before,
#appView.permission-compact-nav #nav .nav-subsection-toggle::before,
#appView #nav .nav-grandchildren button::before,
#appView.permission-compact-nav #nav .nav-grandchildren button::before,
#appView #nav .nav-grandchildren button.active::before,
#appView.permission-compact-nav #nav .nav-grandchildren button.active::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
}
/* nav-primary-baseline-v679: keep every level-one icon and label on one fixed axis. */
#appView #nav .nav-section-toggle > span,
#appView #nav .nav-home-button > span,
#appView #nav .system-entry > button > span {
  justify-content: flex-start !important;
}
/* nav-primary-grid-v680: lock level-one icons and labels to a fixed two-column axis. */
body #appView.app-shell #nav .nav-section > .nav-section-toggle > span,
body #appView.app-shell #nav .system-entry > button > span {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  column-gap: 10px !important;
  justify-content: stretch !important;
}

.ecom-mgmt-shell {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ecom-mgmt-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 18px;
  align-items: stretch;
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(246,249,252,0.96));
}

.ecom-mgmt-hero-copy,
.ecom-mgmt-hero-side,
.ecom-mgmt-panel {
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255,255,255,0.98);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.ecom-mgmt-hero-copy {
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ecom-mgmt-hero-heading h3 {
  margin: 4px 0 0;
  font-size: 34px;
  line-height: 1.15;
  color: #172033;
}

.ecom-mgmt-summary {
  margin: 12px 0 0;
  color: #5b6b82;
  line-height: 1.75;
  max-width: 880px;
}

.ecom-mgmt-hero-side {
  padding: 24px;
  background: linear-gradient(180deg, #f7fafc, #eef4fb);
}

.ecom-mgmt-hero-side h4 {
  margin: 6px 0 14px;
  font-size: 24px;
  color: #172033;
}

.ecom-mgmt-hero-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ecom-mgmt-fact {
  min-height: 96px;
  border-radius: 18px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255,255,255,0.96);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ecom-mgmt-fact span {
  font-size: 12px;
  color: #6b7b92;
}

.ecom-mgmt-fact strong {
  font-size: 18px;
  line-height: 1.4;
  color: #172033;
}

.ecom-mgmt-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  align-items: flex-end;
}

.ecom-mgmt-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #607089;
  font-size: 13px;
}

.ecom-mgmt-toolbar select {
  min-width: 240px;
}

.ecom-mgmt-periods {
  display: inline-flex;
  padding: 4px;
  gap: 4px;
  border-radius: 999px;
  background: #e7eef7;
}

.ecom-mgmt-periods button {
  border: 0;
  background: transparent;
  color: #31435d;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
}

.ecom-mgmt-periods button.active {
  background: linear-gradient(135deg, #0f766e, #0891b2);
  color: #fff;
}

.ecom-mgmt-section-nav {
  padding: 20px 22px;
}

.ecom-mgmt-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.ecom-mgmt-tabs button {
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: #fff;
  color: #31435d;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
}

.ecom-mgmt-tabs button.active {
  background: linear-gradient(135deg, #0f766e, #0891b2);
  color: #fff;
  border-color: transparent;
}

.ecom-mgmt-pane.hidden {
  display: none;
}

.ecom-mgmt-import-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ecom-mgmt-import-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 18px;
  padding: 18px;
  background: rgba(248, 250, 252, 0.98);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ecom-mgmt-import-card strong {
  color: #172033;
}

.ecom-mgmt-import-card p,
.ecom-mgmt-import-meta {
  color: #5b6b82;
  line-height: 1.65;
}

.ecom-mgmt-import-btn {
  position: relative;
  display: inline-flex;
  width: fit-content;
  cursor: pointer;
}

.ecom-mgmt-import-btn input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.ecom-mgmt-import-btn span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
  background: #172033;
  color: #fff;
  font-weight: 700;
}

.ecom-mgmt-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ecom-mgmt-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border-radius: 999px;
  padding: 7px 12px;
  background: #eaf1f8;
  color: #30445e;
  font-size: 12px;
  font-weight: 700;
}

.ecom-mgmt-chip.is-ok,
.ecom-mgmt-kpi-card.is-ok,
.ecom-mgmt-funnel-stage.is-ok,
.ecom-mgmt-mini-kpi.is-ok,
.ecom-mgmt-card.is-ok {
  border-color: rgba(20, 184, 166, 0.2);
  background: rgba(240, 253, 250, 0.98);
}

.ecom-mgmt-chip.is-warn,
.ecom-mgmt-kpi-card.is-warn,
.ecom-mgmt-funnel-stage.is-warn,
.ecom-mgmt-mini-kpi.is-warn,
.ecom-mgmt-card.is-warn,
.ecom-mgmt-task-card.is-warn {
  border-color: rgba(245, 158, 11, 0.24);
  background: rgba(255, 251, 235, 0.98);
}

.ecom-mgmt-chip.is-risk,
.ecom-mgmt-kpi-card.is-risk,
.ecom-mgmt-funnel-stage.is-risk,
.ecom-mgmt-mini-kpi.is-risk,
.ecom-mgmt-card.is-risk {
  border-color: rgba(239, 68, 68, 0.2);
  background: rgba(254, 242, 242, 0.98);
}

.ecom-mgmt-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ecom-mgmt-kpi-card,
.ecom-mgmt-mini-kpi,
.ecom-mgmt-funnel-stage,
.ecom-mgmt-card,
.ecom-mgmt-task-card,
.ecom-mgmt-project-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 20px;
}

.ecom-mgmt-kpi-card {
  padding: 18px 20px;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.ecom-mgmt-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #0f766e, #38bdf8);
  opacity: 0.75;
}

.ecom-mgmt-kpi-card span,
.ecom-mgmt-mini-kpi span,
.ecom-mgmt-funnel-stage span {
  display: block;
  color: #607089;
  font-size: 12px;
}

.ecom-mgmt-kpi-card strong,
.ecom-mgmt-mini-kpi strong,
.ecom-mgmt-funnel-stage strong {
  display: block;
  margin-top: 8px;
  color: #172033;
  font-size: 42px;
  line-height: 1.05;
}

.ecom-mgmt-kpi-card em,
.ecom-mgmt-funnel-stage em {
  display: block;
  margin-top: 10px;
  font-style: normal;
  color: #0f766e;
  font-size: 13px;
}

.ecom-mgmt-grid,
.ecom-mgmt-grid-three,
.ecom-mgmt-grid-two {
  display: grid;
  gap: 16px;
}

.ecom-mgmt-grid,
.ecom-mgmt-grid-two {
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
}

.ecom-mgmt-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ecom-mgmt-panel {
  padding: 22px;
}

.ecom-mgmt-funnel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.ecom-mgmt-funnel-stage {
  padding: 16px;
  background: #fff;
}

.ecom-mgmt-funnel-stage b {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #d9eef7;
  color: #0f4c5c;
  font-size: 12px;
  margin-bottom: 12px;
}

.ecom-mgmt-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ecom-mgmt-stack.compact {
  gap: 10px;
}

.ecom-mgmt-card {
  padding: 16px;
  background: #fff;
}

.ecom-mgmt-card-title,
.ecom-mgmt-kanban-title,
.ecom-mgmt-project-head strong {
  color: #172033;
  font-weight: 700;
}

.ecom-mgmt-card-detail,
.ecom-mgmt-project-card p,
.ecom-mgmt-timeline-item p,
.ecom-mgmt-task-card p {
  margin-top: 6px;
  color: #55657d;
  line-height: 1.7;
}

.ecom-mgmt-card-meta,
.ecom-mgmt-project-type,
.ecom-mgmt-task-card span {
  margin-top: 8px;
  color: #0f766e;
  font-size: 12px;
}

.ecom-mgmt-mini-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.ecom-mgmt-mini-kpi {
  padding: 14px;
  background: #fff;
}

.ecom-mgmt-mini-kpi strong {
  font-size: 28px;
}

.ecom-mgmt-projects {
  display: grid;
  gap: 12px;
}

.ecom-mgmt-project-card {
  width: 100%;
  padding: 18px;
  text-align: left;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.ecom-mgmt-project-card:hover {
  transform: translateY(-1px);
}

.ecom-mgmt-project-card.is-active {
  border-color: rgba(14, 165, 164, 0.42);
  box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.14);
}

.ecom-mgmt-project-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.ecom-mgmt-timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.ecom-mgmt-timeline-item {
  border-left: 3px solid #0ea5a4;
  padding: 12px 14px;
  background: rgba(248, 250, 252, 0.98);
  border-radius: 16px;
}

.ecom-mgmt-kanban {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ecom-mgmt-kanban-column {
  border-radius: 18px;
  padding: 14px;
  background: rgba(248, 250, 252, 0.98);
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.ecom-mgmt-kanban-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.ecom-mgmt-kanban-title span {
  font-size: 12px;
  color: #607089;
}

.ecom-mgmt-task-card {
  padding: 14px;
  background: #fff;
}

.ecom-mgmt-task-card.is-ok {
  background: rgba(240, 253, 250, 0.98);
}

.ecom-mgmt-task-card.is-done {
  background: rgba(241, 245, 249, 1);
}

.ecom-mgmt-empty {
  border: 1px dashed rgba(148, 163, 184, 0.45);
  border-radius: 14px;
  padding: 16px;
  text-align: center;
  color: #64748b;
}

@media (max-width: 1320px) {
  .ecom-mgmt-hero,
  .ecom-mgmt-grid,
  .ecom-mgmt-grid-two,
  .ecom-mgmt-grid-three,
  .ecom-mgmt-kpis,
  .ecom-mgmt-kanban,
  .ecom-mgmt-hero-facts,
  .ecom-mgmt-mini-kpis,
  .ecom-mgmt-import-cards,
  .ecom-mgmt-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ecom-mgmt-hero,
  .ecom-mgmt-grid,
  .ecom-mgmt-grid-two,
  .ecom-mgmt-grid-three,
  .ecom-mgmt-kpis,
  .ecom-mgmt-kanban,
  .ecom-mgmt-hero-facts,
  .ecom-mgmt-mini-kpis,
  .ecom-mgmt-import-cards,
  .ecom-mgmt-timeline {
    grid-template-columns: 1fr;
  }

  .ecom-mgmt-toolbar {
    align-items: flex-start;
  }

  .ecom-mgmt-periods {
    width: 100%;
    justify-content: space-between;
  }

  .ecom-mgmt-periods button,
  .ecom-mgmt-project-card,
  .ecom-mgmt-toolbar select {
    width: 100%;
  }

  .ecom-mgmt-hero-heading h3 {
    font-size: 28px;
  }

  .ecom-mgmt-kpi-card strong {
    font-size: 34px;
  }
}

.operation-competitor-promotion-table .expense-rank-cell,
.operation-competitor-sales-table .expense-rank-cell {
  min-width: 72px;
  white-space: nowrap;
}
.operation-competitor-promotion-table .expense-item-id-cell,
.operation-competitor-sales-table .expense-item-id-cell {
  min-width: 140px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.operation-competitor-promotion-table .product-cell,
.operation-competitor-sales-table .product-cell {
  min-width: 360px;
  white-space: normal;
  line-height: 1.55;
}

.product-center-v3-view { padding: 0; }
.new-product-v3-oa-shell { min-width: 0; background: #fff; overflow: hidden; }
.new-product-v3-oa-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid #d9e3ef; background: #f7f9fc; }
.new-product-v3-oa-toolbar h3, .new-product-v3-oa-toolbar p { margin: 0; }
.new-product-v3-oa-toolbar h3 { font-size: 18px; letter-spacing: 0; }
.new-product-v3-oa-shell iframe { display: block; width: 100%; height: calc(100vh - 82px); min-height: 820px; border: 0; background: #fff; }
.brand-ledger-active-table table { min-width: 1080px; }
.brand-ledger-row-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.brand-ledger-v3-button { white-space: nowrap; }
.brand-ledger-delete-button { color: #d52842; border-color: #efb7c0; }
.brand-ledger-delete-button:hover { color: #a9152b; border-color: #df7182; background: #fff5f6; }
@media (max-width: 760px) { .new-product-v3-oa-shell iframe { height: calc(100vh - 72px); min-height: 720px; } }



.payroll-v2-view { min-width: 0; }
.payroll-v2-toolbar { align-items: flex-end; }
.payroll-v2-source { color: #64748b; font-size: 13px; line-height: 1.5; }
.payroll-v2-table table { min-width: 760px; }
.payroll-v2-table th,
.payroll-v2-table td { vertical-align: middle; }
.payroll-v2-table .payroll-v2-money { text-align: right; font-variant-numeric: tabular-nums; }
.payroll-v2-table tfoot td { background: #f8fafc; border-top: 2px solid #cbd5e1; font-weight: 700; }

.monthly-maintenance-shell { display: grid; gap: 14px; min-width: 0; }
.monthly-maintenance-toolbar { align-items: flex-end; }
.monthly-maintenance-toolbar .search { min-width: 280px; flex: 1 1 320px; }
.monthly-maintenance-note { margin: 0; }
.monthly-maintenance-actions { display: flex; justify-content: flex-end; gap: 10px; position: sticky; bottom: 0; padding: 12px; border-top: 1px solid #dbe4ee; background: rgba(255,255,255,.96); z-index: 3; }
.monthly-maintenance-table { min-width: 1320px; table-layout: fixed; }
.monthly-maintenance-table th,
.monthly-maintenance-table td { vertical-align: middle; overflow: hidden; }
.monthly-maintenance-table th { white-space: nowrap; }
.monthly-maintenance-table th:first-child,
.monthly-maintenance-table td:first-child,
.monthly-maintenance-table th:nth-child(2),
.monthly-maintenance-table td:nth-child(2) { white-space: nowrap; }
.monthly-maintenance-table input { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; border: 1px solid #cfd9e6; border-radius: 7px; padding: 7px 8px; background: #fff; }
.monthly-maintenance-table .mm-number-input { width: 78px; min-width: 78px; text-align: right; font-variant-numeric: tabular-nums; }
.monthly-maintenance-table .mm-money-input { width: 96px; min-width: 96px; }
.monthly-maintenance-table .mm-reason-input { width: 100%; min-width: 0; max-width: 100%; }
.monthly-maintenance-table .mm-col-period { width: 78px; }
.monthly-maintenance-table .mm-col-name { width: 92px; }
.monthly-maintenance-table .mm-col-number { width: 112px; }
.monthly-maintenance-table .mm-col-money { width: 150px; }
.monthly-maintenance-table .mm-col-reason { width: 220px; }
.monthly-maintenance-table input:focus { outline: 2px solid rgba(43,111,225,.18); border-color: #2b6fe1; }
.monthly-maintenance-table .mm-locked-value { display:flex; align-items:center; justify-content:center; width:100%; min-height:34px; color:#8b98aa; background:#f4f6f9; border:1px solid #e1e6ed; border-radius:7px; cursor:not-allowed; user-select:none; }
.status-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 9px; font-size: 12px; white-space: nowrap; }
.status-pill.pending { color: #9a5b00; background: #fff4d6; }
.status-pill.done { color: #147a4b; background: #e3f7ed; }
@media (max-width: 760px) {
  .monthly-maintenance-toolbar .search { min-width: 100%; }
  .monthly-maintenance-actions { justify-content: stretch; }
  .monthly-maintenance-actions button { flex: 1; }
}

.company-info-table-state{min-height:180px}.company-info-meta{padding:10px 14px;color:#64748b;font-size:12px;background:#f8fafc;border-bottom:1px solid #e5edf5}.company-info-table-wrap{overflow:auto;max-height:calc(100vh - 220px)}.company-info-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.company-info-table th,.company-info-table td{padding:10px 12px;border:1px solid #e2e8f0;text-align:left;vertical-align:top;white-space:normal;word-break:break-word}.company-info-table th{position:sticky;top:0;background:#f3f7fc;color:#334155}.company-info-table a{color:#1769e8;text-decoration:underline;margin-left:6px}

/* 三张飞书数据表：统一可读布局，避免表头和内容溢出 */
.data-system-table table{width:max-content;min-width:100%;table-layout:auto}
.data-system-table th{min-width:110px;max-width:240px;padding:11px 10px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:middle}
.data-system-th{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;white-space:normal;line-height:1.35}
.data-system-table td{min-width:120px;max-width:280px;padding:10px;white-space:normal;overflow:visible;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}
.data-system-cell{min-width:0;max-width:100%;overflow:hidden}
.data-system-cell strong{display:block;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.45}
.data-system-grid-project th:first-child,.data-system-grid-project td:first-child{min-width:150px;max-width:150px}
.data-system-grid-store th:nth-child(1),.data-system-grid-store td:nth-child(1){min-width:150px;max-width:150px}
.data-system-grid-store th:nth-child(2),.data-system-grid-store td:nth-child(2){min-width:230px;max-width:280px}
.data-system-grid-store th:nth-child(3),.data-system-grid-store td:nth-child(3){min-width:96px;max-width:120px}
.data-system-grid-monthlyPerformance th,.data-system-grid-monthlyPerformance td{min-width:140px}
@media (max-width:900px){.data-system-head{align-items:stretch;flex-direction:column;gap:14px}.data-system-actions{align-items:stretch;flex-wrap:wrap}.data-system-actions>*{flex:1 1 180px}.data-system-toolbar{align-items:stretch;flex-direction:column}.data-system-toolbar .search{width:100%}}

.clean-data-system-shell{overflow:hidden;border:1px solid #d9e3ee;border-radius:12px;background:#fff}.clean-data-system-head{padding:22px 26px;background:linear-gradient(110deg,#fff8f8,#f7fbff);border-bottom:1px solid #e1e8f0}.clean-data-system-actions{align-items:flex-end;flex-wrap:wrap}.clean-data-system-toolbar{padding:12px 18px;background:#f7f9fc;border-bottom:1px solid #e5ebf2}.clean-data-system-table{height:calc(100vh - 300px);min-height:360px;max-height:none;overflow:hidden;border:0!important;border-radius:0!important}.clean-data-table-scroll{width:100%;height:100%;overflow:auto}.clean-data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.clean-data-table th{position:sticky;top:0;z-index:2;min-width:120px;max-width:260px;padding:13px 12px;border-bottom:1px solid #dbe5ef;background:#f1f5f9;color:#24364a;font-size:13px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.clean-data-th{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;line-height:1.4}.clean-data-th>span{min-width:0;white-space:normal}.clean-data-table td{min-width:120px;max-width:280px;padding:12px;border-bottom:1px solid #e7edf3;color:#27384a;font-size:13px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}.clean-data-table tbody tr:nth-child(even) td{background:#fbfdff}.clean-data-table tbody tr:hover td{background:#f0f7ff}.clean-data-cell{line-height:1.5}.clean-data-cell>span{display:block;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.clean-data-cell small{display:block;margin-top:3px;color:#8393a2;font-size:10px}.clean-data-table-project th:first-child,.clean-data-table-project td:first-child{min-width:150px}.clean-data-table-store th:nth-child(1),.clean-data-table-store td:nth-child(1){min-width:150px}.clean-data-table-store th:nth-child(2),.clean-data-table-store td:nth-child(2){min-width:230px}.clean-data-table-store th:nth-child(3),.clean-data-table-store td:nth-child(3){min-width:100px}.clean-data-table-monthlyPerformance th,.clean-data-table-monthlyPerformance td{min-width:145px}.clean-data-empty{display:grid;place-items:center;gap:8px;min-height:260px;color:#7b8b9a}.clean-data-empty strong{color:#34495e;font-size:16px}

/* 固定列宽，禁止三张数据表被浏览器压缩 */
.clean-data-table{table-layout:fixed!important;width:max-content!important;min-width:0!important}.clean-data-table col{width:160px}.clean-data-table th,.clean-data-table td{width:160px;min-width:160px;max-width:160px;box-sizing:border-box}.clean-data-table th{white-space:normal!important;line-height:1.35}.clean-data-table td{white-space:normal!important;overflow-wrap:anywhere}
/* data-system fixed grid: header and body share one explicit column template */
#dataSystemTable .clean-data-table{display:block!important;width:max-content!important;min-width:0!important;border-collapse:separate!important}
#dataSystemTable .clean-data-table colgroup{display:none!important}
#dataSystemTable .clean-data-table thead,#dataSystemTable .clean-data-table tbody{display:block!important;width:max-content!important}
#dataSystemTable .clean-data-table tr{display:grid!important;grid-template-columns:repeat(var(--data-cols),180px)!important;width:max-content!important}
#dataSystemTable .clean-data-table th,#dataSystemTable .clean-data-table td{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;overflow:hidden!important}
#dataSystemTable .clean-data-table th{min-height:72px!important;white-space:normal!important;line-height:1.35!important;word-break:break-all!important}
#dataSystemTable .clean-data-table td{min-height:48px!important;white-space:normal!important;word-break:break-word!important}
/* data-system flex renderer */
#dataSystemTable .clean-data-flex-scroll{width:100%;height:100%;overflow:auto}
#dataSystemTable .clean-data-flex{display:block!important}
#dataSystemTable .clean-data-flex-row{display:flex!important;align-items:stretch!important;border-bottom:1px solid #e7edf3;background:#fff}
#dataSystemTable .clean-data-flex-row:nth-child(even){background:#fbfdff}
#dataSystemTable .clean-data-flex-row:hover{background:#f0f7ff}
#dataSystemTable .clean-data-flex-header{position:sticky;top:0;z-index:3;background:#f1f5f9;border-bottom:1px solid #dbe5ef;min-height:78px}
#dataSystemTable .clean-data-flex-cell{display:block!important;padding:12px!important;color:#27384a;font-size:13px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
#dataSystemTable .clean-data-flex-head-cell{font-weight:700;color:#24364a}

/* 月度数据：固定列宽、独立横向滚动，避免空表表头被压缩 */
.monthly-data2-scroll{width:100%;height:100%;overflow:auto;background:#fff}
.monthly-data2-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:max-content}
.monthly-data2-table th,.monthly-data2-table td{width:180px;min-width:180px;max-width:180px;box-sizing:border-box;padding:12px 14px;border-right:1px solid #dbe5ef;border-bottom:1px solid #dbe5ef;text-align:left;vertical-align:middle;white-space:normal;word-break:break-all;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
.monthly-data2-table th{position:sticky;top:0;z-index:2;background:#eef4fa;color:#26394f;font-weight:700}
.monthly-data2-table tbody tr{height:48px}.monthly-data2-table tbody tr:nth-child(even){background:#fbfdff}
.monthly-data2-empty{text-align:center!important;color:#8a98a8!important;width:100%!important;min-width:900px!important}

/* 月度数据紧凑数值与环比 */
.monthly-data2-table th,.monthly-data2-table td{width:150px;min-width:150px;max-width:150px;padding:7px 9px;font-size:12px;line-height:1.25}
.monthly-data2-table th{padding-top:8px;padding-bottom:8px}.monthly-data2-table tbody tr{height:38px}.monthly-data2-table td>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-data2-trend{display:block;margin-top:3px;font-size:10px;line-height:1.1;font-weight:600}.monthly-data2-trend.trend-up{color:#d64545}.monthly-data2-trend.trend-down{color:#1f9d62}.monthly-data2-trend.trend-flat{color:#8a98a8}

/* 月度数据放大阅读版 */
.monthly-data2-table th,.monthly-data2-table td{width:190px;min-width:190px;max-width:190px;padding:11px 13px;font-size:14px;line-height:1.4}
.monthly-data2-table th{padding-top:12px;padding-bottom:12px}.monthly-data2-table tbody tr{height:52px}.monthly-data2-trend{margin-top:5px;font-size:11px}

/* 月度数据：滚动条贴近表格底部，紧凑列宽但允许完整换行 */
.monthly-data2-scroll{height:auto;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto}
.monthly-data2-table th,.monthly-data2-table td{width:160px;min-width:160px;max-width:160px;padding:8px 10px;font-size:13px;line-height:1.35;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.monthly-data2-table th{padding-top:9px;padding-bottom:9px}.monthly-data2-table tbody tr{height:44px}.monthly-data2-table td>span{white-space:normal;overflow:visible;text-overflow:clip}

/* 月度数据：按内容自适应列宽，避免双纵向滚动条 */
#dataSystemTable.clean-data-system-table{overflow-x:hidden!important;overflow-y:visible!important}
.monthly-data2-scroll{height:auto;max-height:none;overflow-x:auto;overflow-y:visible}
.monthly-data2-table{table-layout:auto;width:max-content;min-width:100%}
.monthly-data2-table th,.monthly-data2-table td{width:auto;min-width:78px;max-width:230px;padding:8px 10px;font-size:13px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
.monthly-data2-table th{white-space:normal}.monthly-data2-table td>span{white-space:normal;overflow:visible;text-overflow:clip}

.monthly-data2-table th[data-monthly-sort]{cursor:pointer;user-select:none}.monthly-data2-table th[data-monthly-sort]:hover{background:#dfeaf5}.monthly-data2-sort-mark{margin-left:4px;color:#2874c6;font-size:11px}
/* monthly-data2 column freeze and grouped company-performance header */
.monthly-data2-table .monthly-data2-freeze{position:sticky!important;z-index:4;background:#fff;box-shadow:inset -1px 0 0 #dbe5ef}
.monthly-data2-table th.monthly-data2-freeze{z-index:7;background:#eef4fa}
.monthly-data2-table .monthly-data2-freeze-0{left:0;width:78px;min-width:78px;max-width:78px}
.monthly-data2-table .monthly-data2-freeze-1{left:78px;width:168px;min-width:168px;max-width:168px}
.monthly-data2-table.monthly-data2-table-a2 .monthly-data2-freeze-1{left:78px;width:210px;min-width:210px;max-width:210px}
.monthly-data2-table.monthly-data2-table-a2 .monthly-data2-freeze-2{left:288px;width:126px;min-width:126px;max-width:126px}
.monthly-data2-table.monthly-data2-table-a2 .monthly-data2-freeze-3{left:414px;width:96px;min-width:96px;max-width:96px}
.monthly-data2-table.monthly-data2-table-a3 .monthly-data2-freeze-1{left:78px;width:190px;min-width:190px;max-width:190px}
.monthly-data2-table.monthly-data2-table-a3 .monthly-data2-freeze-2{left:268px;width:126px;min-width:126px;max-width:126px}
.monthly-data2-table .monthly-data2-freeze-1{box-shadow:8px 0 14px rgba(30,55,80,.08),inset -1px 0 0 #cfdce6}
.monthly-data2-table-a2 .monthly-data2-freeze-3,.monthly-data2-table-a3 .monthly-data2-freeze-2{box-shadow:8px 0 14px rgba(30,55,80,.08),inset -1px 0 0 #cfdce6}
.monthly-data2-group-row th{height:30px;padding:6px 8px;text-align:center;background:#e4edf7;border-bottom:1px solid #cbd9e7;font-size:12px;white-space:nowrap}
.monthly-data2-group-row th.monthly-data2-freeze{top:0}
.monthly-data2-table thead tr:not(.monthly-data2-group-row) th{top:0}.monthly-data2-table-a3 thead tr:not(.monthly-data2-group-row) th{top:30px}
.monthly-data2-table.monthly-data2-table-a3 th,.monthly-data2-table.monthly-data2-table-a3 td{min-width:92px;max-width:220px}
.monthly-data2-table.monthly-data2-table-a3 th:nth-child(1),.monthly-data2-table.monthly-data2-table-a3 td:nth-child(1){width:78px;min-width:78px;max-width:78px}
.monthly-data2-table.monthly-data2-table-a3 th:nth-child(2),.monthly-data2-table.monthly-data2-table-a3 td:nth-child(2){width:190px;min-width:190px;max-width:190px}
.monthly-data2-table.monthly-data2-table-a3 th:nth-child(3),.monthly-data2-table.monthly-data2-table-a3 td:nth-child(3){width:126px;min-width:126px;max-width:126px}

.temporary-data-shell { display:flex; flex-direction:column; gap:14px; }
.temporary-data-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:22px 24px; }
.temporary-data-hero h3 { margin:4px 0 6px; }
.temporary-data-actions { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; }
.temporary-data-table { width:max-content; min-width:100%; table-layout:auto; }
.temporary-data-table th, .temporary-data-table td { white-space:nowrap; padding:9px 14px; }
.temporary-data-table th { background:#eef4fb; color:#31445b; }
.temporary-data-table td { border-bottom:1px solid #e2eaf3; }
.mm-rate-input { width:96px; min-width:96px; }
.company-target-save-actions { justify-content: flex-end; padding: 12px 0 0; }
.company-target-table { min-width: 1180px; }
.company-target-table th, .company-target-table td { vertical-align: middle; }
.company-target-table th:nth-child(1), .company-target-table td:nth-child(1) { min-width: 78px; }
.company-target-table th:nth-child(2), .company-target-table td:nth-child(2) { min-width: 150px; }
.company-target-table th:nth-child(3), .company-target-table td:nth-child(3) { min-width: 100px; }
.company-target-table th:nth-child(4), .company-target-table td:nth-child(4) { min-width: 150px; }
.company-target-table th:nth-child(n+5), .company-target-table td:nth-child(n+5) { min-width: 150px; }
.company-target-input { width: 100%; min-width: 0; height: 34px; box-sizing: border-box; border: 1px solid #cdd9e8; border-radius: 5px; padding: 0 8px; color: #25364d; background: #fff; }
.company-target-input:focus { border-color: #2c74df; outline: 2px solid rgba(44,116,223,.12); }
.company-target-view-shell { width: 100%; max-width: none; display: flex; flex-direction: column; gap: 12px; }
.company-target-toolbar { padding: 12px 16px; }
.company-target-panel { width: 100%; box-sizing: border-box; }
.company-target-panel .table-wrap { width: 100%; overflow-x: auto; }
.company-target-table{width:100%;min-width:1480px;table-layout:fixed}.company-target-table th,.company-target-table td{overflow:hidden;text-overflow:ellipsis}.company-target-table th:nth-child(1),.company-target-table td:nth-child(1){width:90px;min-width:90px}.company-target-table th:nth-child(2),.company-target-table td:nth-child(2){width:260px;min-width:260px}.company-target-table th:nth-child(3),.company-target-table td:nth-child(3){width:120px;min-width:120px}.company-target-table th:nth-child(4),.company-target-table td:nth-child(4){width:150px;min-width:150px}.company-target-table th:nth-child(n+5),.company-target-table td:nth-child(n+5){width:160px;min-width:160px}.company-target-cell-value{display:block;min-height:34px;line-height:34px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-target-save-actions button:disabled{opacity:.45;cursor:not-allowed}

/* v875 welcome card rebuilt without the shopping-bag artwork */
#dashboardView.home2-dashboard .home2-hero,
#dashboardView .home2-hero {
  isolation: isolate !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(109, 185, 255, .15), transparent 25%),
    radial-gradient(circle at 72% 96%, rgba(97, 163, 235, .10), transparent 28%),
    linear-gradient(118deg, #fbfdff 0%, #f4f9ff 56%, #eaf5ff 100%) !important;
}
#dashboardView.home2-dashboard .home2-hero::before,
#dashboardView .home2-hero::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(112deg, transparent 0 61%, rgba(102,167,231,.07) 61% 61.4%, transparent 61.4%),
    radial-gradient(circle at 80% 32%, rgba(87,157,226,.20) 0 2px, transparent 2.5px),
    radial-gradient(circle at 84% 39%, rgba(87,157,226,.14) 0 2px, transparent 2.5px),
    radial-gradient(circle at 88% 27%, rgba(87,157,226,.10) 0 2px, transparent 2.5px) !important;
}
#dashboardView.home2-dashboard .home2-hero::after,
#dashboardView .home2-hero::after {
  content:"" !important;
  position:absolute !important;
  right:-38px !important;
  top:-96px !important;
  width:330px !important;
  height:330px !important;
  border:1px solid rgba(70,139,207,.10) !important;
  border-radius:50% !important;
  box-shadow:-90px 98px 0 -89px rgba(70,139,207,.10),-178px 150px 0 -177px rgba(70,139,207,.08) !important;
  pointer-events:none !important;
}

/* growth-home-responsive-v883: must remain last to override legacy homepage sizing */
#appView .content > #dashboardView.home2-dashboard:not(.hidden){min-width:0!important;grid-template-rows:auto auto auto!important;gap:20px!important;padding:20px!important;overflow:hidden!important}
#dashboardView .home2-row{gap:20px!important}
#dashboardView .home2-row-top{grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr)!important;align-items:stretch!important}
#dashboardView .home2-row-work{grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important}
#dashboardView .home2-row-bottom{grid-template-columns:minmax(0,1fr) minmax(330px,420px)!important}
#dashboardView .home2-hero{display:grid!important;grid-template-columns:92px minmax(0,1fr) minmax(208px,270px)!important;align-items:center!important;gap:18px!important;height:auto!important;min-height:196px!important;padding:24px 26px!important}
#dashboardView .home2-greeting{min-width:0!important;height:auto!important}
#dashboardView .home2-greeting h1{font-size:clamp(24px,2vw,30px)!important;white-space:normal!important}
#dashboardView .growth-level-hero{position:relative!important;min-width:0!important;width:100%!important;max-width:270px!important}
#dashboardView .home2-gantt-head,#dashboardView .home2-gantt-row{grid-template-columns:minmax(150px,25%) minmax(0,1fr)!important}
@media(max-width:1180px){
  #appView .content > #dashboardView.home2-dashboard:not(.hidden){min-width:0!important;padding:16px!important;gap:16px!important}
  #dashboardView .home2-row{gap:16px!important}
  #dashboardView .home2-row-top{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important}
  #dashboardView .home2-row-work{grid-template-columns:minmax(260px,32%) minmax(0,1fr)!important}
  #dashboardView .home2-hero{display:grid!important;grid-template-columns:72px minmax(0,1fr) minmax(174px,230px)!important;gap:12px!important;height:auto!important;min-height:196px!important;padding:20px!important}
  #dashboardView .home2-gantt-head,#dashboardView .home2-gantt-row{grid-template-columns:minmax(105px,21%) minmax(0,1fr)!important}
  #dashboardView .home2-gantt-head>div{grid-template-columns:repeat(7,minmax(0,1fr))!important}
}
@media(max-width:920px){
  #dashboardView .home2-row-top,#dashboardView .home2-row-work,#dashboardView .home2-row-bottom{grid-template-columns:1fr!important}
  #dashboardView .home2-hero{grid-template-columns:72px minmax(0,1fr)!important}
  #dashboardView .growth-level-hero{grid-column:1/-1!important;max-width:none!important;border-left:0!important;border-top:1px solid rgba(74,137,202,.18)!important;padding:12px 0 0!important}
}

/* v890 final homepage geometry */
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .content,#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .content{align-items:stretch!important;overflow-x:auto!important}
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;grid-template-columns:390px minmax(480px,1fr) auto!important}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;padding:20px!important;gap:20px!important;overflow:visible!important}
#dashboardView.home2-dashboard .home2-row{width:100%!important;min-width:0!important;max-width:none!important;gap:20px!important}
#dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px minmax(690px,1fr)!important;column-gap:20px!important;align-items:stretch!important}
#dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-hero{grid-template-columns:92px minmax(0,1fr) 270px!important;width:100%!important;min-width:0!important;max-width:none!important;height:210px!important;min-height:210px!important;padding:24px 28px!important;gap:20px!important}
#dashboardView.home2-dashboard .growth-level-hero{grid-column:auto!important;width:270px!important;min-width:270px!important;max-width:270px!important;padding:10px 0 10px 18px!important;border-top:0!important}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
@media(max-width:1400px){
body:has(#dashboardView.home2-dashboard:not(.hidden)) #appView .topbar.app-command-bar,#appView.app-shell:has(#dashboardView.home2-dashboard:not(.hidden)) .topbar.app-command-bar{width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;grid-template-columns:390px minmax(480px,1fr) auto!important}
#appView .content>#dashboardView.home2-dashboard:not(.hidden){width:max(1500px,100%)!important;min-width:1500px!important;max-width:none!important;padding:20px!important;gap:20px!important;overflow:visible!important}
#dashboardView.home2-dashboard .home2-row{width:100%!important;min-width:0!important;max-width:none!important;gap:20px!important}
#dashboardView.home2-dashboard .home2-row-top{grid-template-columns:750px minmax(690px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-work{grid-template-columns:360px minmax(1080px,1fr)!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-row-bottom{grid-template-columns:minmax(1020px,1fr) 420px!important;column-gap:20px!important}
#dashboardView.home2-dashboard .home2-hero{grid-template-columns:92px minmax(0,1fr) 270px!important;width:100%!important;min-width:0!important;max-width:none!important;height:210px!important;min-height:210px!important;padding:24px 28px!important;gap:20px!important}
#dashboardView.home2-dashboard .growth-level-hero{grid-column:auto!important;width:270px!important;min-width:270px!important;max-width:270px!important;border-top:0!important;padding:10px 0 10px 18px!important}
#dashboardView.home2-dashboard .growth-level-hero:before{display:block!important}
}


/* Customer after-sales project and delete controls, 2026-08-24 */
.quality-project-filter { min-width: 150px; }
.quality-after-card-actions { display: inline-flex; align-items: center; gap: 10px; }
.quality-after-card-actions .compact-btn { min-height: 30px; padding: 5px 12px; }

/* Customer after-sales second registration */
#customerWorkbenchView #customerReturnForm .customer-return-actions-v221 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(440px, 100%) !important;
}
#customerWorkbenchView #customerReturnForm #customerSecondReturnButton.is-active {
  color: #1f5eea !important;
  border-color: #7aa2ff !important;
  background: #edf3ff !important;
}

/* customer-ledger-edit-v1 */
#customerWorkbenchView .cs2-edit-registration { margin-left: auto; white-space: nowrap; }
#customerWorkbenchView .cs2-row-head.is-editing { gap: 10px; }
#customerWorkbenchView .cs2-row-head.is-editing b,
#customerWorkbenchView .cs2-row-head.is-editing strong { display: flex; align-items: center; gap: 6px; }
#customerWorkbenchView .cs2-cell-editing { padding: 8px; background: #f7faff; }
#customerWorkbenchView .cs2-cell-input {
  width: 100%;
  min-width: 0;
  border: 1px solid #9fbae2;
  border-radius: 5px;
  background: #fff;
  color: #24344d;
  padding: 6px 8px;
  font: inherit;
}
#customerWorkbenchView .cs2-row-head .cs2-cell-input { width: 170px; }
#customerWorkbenchView .cs2-row-head .cs2-date-input { width: 132px; }
#customerWorkbenchView textarea.cs2-cell-input { resize: vertical; min-height: 54px; }
#customerWorkbenchView .cs2-order-cell-input { white-space: pre-line; }

/* after-sales-inline-edit-v1: edit the original card cells without adding an expanded row. */
.quality-after-card.is-editing {
  margin: 0;
  border-color: #6f9df1;
  box-shadow: 0 0 0 2px rgba(47, 103, 235, .1), 0 12px 30px rgba(15, 23, 42, .08);
}

.quality-after-card-identity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 22px;
  min-width: 0;
}

.quality-after-card-identity > label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.quality-after-card-identity > label > b {
  color: #53647a;
  font-size: 12px;
  white-space: nowrap;
}

.quality-after-card-identity > label > span {
  font-weight: 700;
}

.quality-after-card.is-editing header input,
.quality-after-card.is-editing header select,
.quality-after-card.is-editing .quality-after-grid input,
.quality-after-card.is-editing .quality-after-grid select,
.quality-after-card.is-editing .quality-after-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #9fbae2;
  border-radius: 6px;
  background: #fff;
  color: #24344d;
  padding: 7px 9px;
  font: inherit;
}

.quality-after-card.is-editing header input,
.quality-after-card.is-editing header select {
  width: 160px;
}

.quality-after-card.is-editing .quality-after-grid textarea {
  min-height: 62px;
  resize: vertical;
}

.quality-after-card.is-editing .quality-after-grid {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.quality-after-card.is-editing .quality-after-grid section {
  min-height: 112px;
}

.quality-after-field-pair,
.quality-after-attachment-edit {
  display: grid;
  gap: 8px;
}

.quality-after-attachment-edit small {
  min-height: 22px;
  color: #53647a;
}

.quality-after-attachment-edit > label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #66758c;
  font-size: 12px;
}

.quality-after-card.is-editing .quality-after-attachment-edit input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

@media (max-width: 1400px) {
  .quality-after-card.is-editing .quality-after-grid { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}

@media (max-width: 900px) {
  .quality-after-card header { align-items: flex-start; flex-direction: column; }
  .quality-after-card.is-editing .quality-after-grid { grid-template-columns: 1fr; }
}

#multimediaTaskManagementView .multimedia-frame-panel {
  min-height: calc(100vh - 84px);
  border: 0;
  border-radius: 0;
  background: #edf5ff;
  box-shadow: none;
}
#multimediaTaskManagementFrame {
  height: calc(100vh - 88px);
  min-height: 720px;
  background: #edf5ff;
}

/* v20260904: let the embedded task workspace own scrolling without adding an empty outer page. */
#appView .content > #multimediaTaskManagementView:not(.hidden) {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
#multimediaTaskManagementView .multimedia-shell,
#multimediaTaskManagementView .multimedia-frame-panel {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
#multimediaTaskManagementFrame {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
/* Customer ledger handover retention: active/recent items plus full history dialog. */
#customerWorkbenchView .cs2-handover-cell {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

#customerWorkbenchView .cs2-handover {
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
}

#customerWorkbenchView .cs2-handover time {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 6px;
  border-radius: 5px;
  background: #eef4ff;
  color: #526781;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

#customerWorkbenchView .cs2-handover small,
#customerWorkbenchView .cs2-handover button {
  grid-column: 2;
}

#customerWorkbenchView .cs2-handover-history-button {
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid #cbd9eb;
  border-radius: 7px;
  background: #fff;
  color: #245ea8;
  font-size: 11px;
  font-weight: 700;
}

.cs2-handover-history-modal {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(15, 31, 54, .42);
  backdrop-filter: blur(3px);
}

.cs2-handover-history-modal.hidden {
  display: none;
}

.cs2-handover-history-card {
  width: min(760px, calc(100vw - 40px));
  max-height: min(760px, calc(100vh - 56px));
  overflow: hidden;
  border: 1px solid #d5e0ee;
  border-radius: 18px;
  background: #f7faff;
  box-shadow: 0 24px 70px rgba(30, 56, 91, .24);
}

.cs2-handover-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #dce6f2;
  background: #fff;
}

.cs2-handover-history-head h3 {
  margin: 2px 0 5px;
  color: #14243b;
  font-size: 22px;
}

.cs2-handover-history-head > div > span {
  color: #64748b;
  font-size: 13px;
}

.cs2-handover-history-head > button {
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #d4dfed;
  border-radius: 9px;
  background: #fff;
  color: #40546e;
  font-size: 22px;
  line-height: 1;
}

.cs2-handover-history-list {
  display: grid;
  gap: 12px;
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  padding: 18px 24px 24px;
}

.cs2-handover-history-item {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border: 1px solid #dbe5f1;
  border-left: 4px solid #2f78ee;
  border-radius: 11px;
  background: #fff;
}

.cs2-handover-history-item.done {
  border-left-color: #91a2b8;
}

.cs2-handover-history-item header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cs2-handover-history-item time {
  color: #526781;
  font-size: 12px;
  font-weight: 700;
}

.cs2-handover-history-item header span {
  padding: 3px 8px;
  border-radius: 999px;
  background: #e9f7ef;
  color: #12824b;
  font-size: 11px;
  font-weight: 800;
}

.cs2-handover-history-item.open header span {
  background: #fff3dc;
  color: #a15b00;
}

.cs2-handover-history-item strong {
  color: #233850;
  font-size: 12px;
}

.cs2-handover-history-item p,
.cs2-handover-history-item small {
  margin: 0;
  color: #334861;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.cs2-handover-history-item small {
  color: #6a7c92;
  font-size: 12px;
}

@media (max-width: 720px) {
  .cs2-handover-history-modal { padding: 12px; }
  .cs2-handover-history-card { width: 100%; max-height: calc(100vh - 24px); }
  .cs2-handover-history-head { padding: 18px; }
  .cs2-handover-history-list { max-height: calc(100vh - 155px); padding: 14px 18px 18px; }
}

/* Daily scoring configuration: compact employee selectors and strict view isolation. */
#dailyScoringConfigView { width: 100%; }
#dailyScoringConfigView .assessment-panel { max-width: none; }
#dailyScoringConfigView .daily-scoring-form {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(150px, 1fr) minmax(130px, 1fr);
  gap: 16px;
  align-items: end;
}
#dailyScoringConfigView .daily-scoring-form > label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
#dailyScoringConfigView .daily-scoring-form > label > input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
}
#dailyScoringConfigView .daily-scoring-picker {
  min-width: 0;
  margin: 0;
  padding: 14px 16px 16px;
  border: 1px solid #d8e2ef;
  border-radius: 12px;
  background: #f8fbff;
}
#dailyScoringConfigView .daily-scoring-picker:first-of-type { grid-column: 1 / 3; }
#dailyScoringConfigView .daily-scoring-picker:last-of-type { grid-column: 3 / 4; }
#dailyScoringConfigView .daily-scoring-picker legend {
  padding: 0 6px;
  color: #25384f;
  font-size: 14px;
  font-weight: 800;
}
#dailyScoringConfigView .daily-scoring-picker > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
  max-height: 280px;
  overflow-y: auto;
  padding: 2px 6px 2px 0;
}
#dailyScoringConfigView .daily-scoring-picker label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #e2e9f2;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
#dailyScoringConfigView .daily-scoring-picker input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  margin: 0;
  padding: 0;
  flex: 0 0 16px;
}
#dailyScoringConfigView .daily-scoring-picker span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #40536a;
  font-size: 13px;
}
#dailyScoringConfigView .daily-scoring-existing { margin-top: 16px; }
@media (max-width: 1100px) {
  #dailyScoringConfigView .daily-scoring-form { grid-template-columns: 1fr 1fr; }
  #dailyScoringConfigView .daily-scoring-form > label:first-child,
  #dailyScoringConfigView .daily-scoring-picker,
  #dailyScoringConfigView .daily-scoring-picker:first-of-type,
  #dailyScoringConfigView .daily-scoring-picker:last-of-type { grid-column: 1 / -1; }
}
/* Daily scoring session manager and question editor. */
#dailyScoringConfigView .daily-scoring-manager > header,
#dailyScoringConfigView .daily-scoring-editor > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
#dailyScoringConfigView .daily-scoring-editor > header > div:last-child { display: flex; gap: 10px; }
#dailyScoringConfigView .daily-scoring-session-list { display: grid; gap: 14px; margin-top: 18px; }
#dailyScoringConfigView .daily-scoring-session-card {
  padding: 18px 20px;
  border: 1px solid #dbe5f1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(31, 58, 91, .05);
}
#dailyScoringConfigView .daily-scoring-session-card > header,
#dailyScoringConfigView .daily-scoring-session-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#dailyScoringConfigView .daily-scoring-session-card h4 { margin: 4px 0 0; color: #172b43; font-size: 17px; }
#dailyScoringConfigView .daily-scoring-session-card header span { color: #71839a; font-size: 12px; font-weight: 700; }
#dailyScoringConfigView .daily-scoring-session-card header em { padding: 5px 10px; border-radius: 999px; font-style: normal; font-size: 12px; font-weight: 800; }
#dailyScoringConfigView .daily-scoring-session-card header em.is-active { color: #0e8056; background: #e8f8f0; }
#dailyScoringConfigView .daily-scoring-session-card header em.is-disabled { color: #6b7788; background: #edf1f5; }
#dailyScoringConfigView .daily-scoring-session-metrics { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 10px; margin: 16px 0; }
#dailyScoringConfigView .daily-scoring-session-metrics span { padding: 11px 12px; border-radius: 10px; background: #f5f8fc; color: #63758b; font-size: 12px; }
#dailyScoringConfigView .daily-scoring-session-metrics b { display: block; margin-bottom: 3px; color: #183452; font-size: 17px; }
#dailyScoringConfigView .daily-scoring-session-questions { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
#dailyScoringConfigView .daily-scoring-session-questions span { padding: 6px 9px; border: 1px solid #dbe5f1; border-radius: 7px; color: #4b6078; background: #fbfdff; font-size: 12px; }
#dailyScoringConfigView .daily-scoring-session-card > footer { justify-content: flex-end; }
#dailyScoringConfigView .daily-scoring-total-card { min-height: 42px; padding: 7px 14px; border: 1px solid #cfe0f5; border-radius: 9px; background: #eef6ff; box-sizing: border-box; }
#dailyScoringConfigView .daily-scoring-total-card span { display: block; color: #6a7f98; font-size: 11px; }
#dailyScoringConfigView .daily-scoring-total-card strong { color: #1f65d6; font-size: 20px; }
#dailyScoringConfigView .daily-scoring-question-builder { grid-column: 1 / -1; padding: 16px; border: 1px solid #d8e2ef; border-radius: 12px; background: #fff; }
#dailyScoringConfigView .daily-scoring-question-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#dailyScoringConfigView .daily-scoring-question-head h4 { margin: 0 0 3px; color: #20364e; }
#dailyScoringConfigView .daily-scoring-question-head p { margin: 0; color: #71839a; font-size: 12px; }
#dailyScoringConfigView .daily-scoring-question-builder table { width: 100%; table-layout: fixed; border-collapse: collapse; }
#dailyScoringConfigView .daily-scoring-question-builder th,
#dailyScoringConfigView .daily-scoring-question-builder td { padding: 9px; border-bottom: 1px solid #e4ebf3; text-align: left; }
#dailyScoringConfigView .daily-scoring-question-builder th:nth-child(2),
#dailyScoringConfigView .daily-scoring-question-builder td:nth-child(2) { width: 150px; }
#dailyScoringConfigView .daily-scoring-question-builder th:last-child,
#dailyScoringConfigView .daily-scoring-question-builder td:last-child { width: 90px; }
#dailyScoringConfigView .daily-scoring-question-builder input { width: 100%; box-sizing: border-box; }
#dailyScoringConfigView .daily-scoring-question-builder th:nth-child(3),
#dailyScoringConfigView .daily-scoring-question-builder td:nth-child(3) { width: 260px; }
#dailyScoringConfigView .daily-question-rater-cell { position: relative; }
#dailyScoringConfigView .daily-question-rater-cell details { position: relative; }
#dailyScoringConfigView .daily-question-rater-cell summary { padding: 9px 12px; border: 1px solid #cfdaea; border-radius: 8px; color: #24508a; background: #f7faff; cursor: pointer; list-style: none; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#dailyScoringConfigView .daily-question-rater-cell summary::-webkit-details-marker { display: none; }
#dailyScoringConfigView .daily-question-rater-cell details > div { position: static; width: auto; max-height: 260px; overflow: auto; margin-top: 6px; padding: 12px; border: 1px solid #cfdaea; border-radius: 10px; background: #fff; box-shadow: none; }
#dailyScoringConfigView .daily-question-rater-cell summary::after { content: "\25BE"; float: right; margin-left: 8px; }
#dailyScoringConfigView .daily-question-rater-cell details[open] summary::after { content: "\25B4"; }
#dailyScoringConfigView .daily-question-rater-mode,
#dailyScoringConfigView [data-daily-question-rater-list] label { display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 7px; }
#dailyScoringConfigView .daily-question-rater-mode:hover,
#dailyScoringConfigView [data-daily-question-rater-list] label:hover { background: #f2f7fd; }
#dailyScoringConfigView .daily-question-rater-cell input[type="radio"],
#dailyScoringConfigView .daily-question-rater-cell input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 auto; }
#dailyScoringConfigView [data-daily-question-rater-list] { display: grid; gap: 3px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #e5ebf3; }

@media (max-width: 1100px) {
  #dailyScoringConfigView .daily-scoring-session-metrics { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  #dailyScoringConfigView .daily-scoring-total-card { grid-column: 1 / -1; }
}
/* Customer ledger: make the current filter unmistakably selected. */
#customerWorkbenchView .cs2-filter-bar button.active,
#customerWorkbenchView .customer-filter-bar button.active {
  border-color: #2563eb !important;
  background: #2563eb !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, .24) !important;
}

#customerWorkbenchView .cs2-filter-bar button.active:hover,
#customerWorkbenchView .customer-filter-bar button.active:hover {
  border-color: #1d4ed8 !important;
  background: #1d4ed8 !important;
  color: #fff !important;
}
/* Daily scoring long-term task editor: contained, balanced layout. */
#dailyScoringConfigView {
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 14px 24px !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
#dailyScoringConfigView .assessment-root,
#dailyScoringConfigView .assessment-panel {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#dailyScoringConfigView .daily-scoring-form {
  grid-template-columns: minmax(0, 1fr) 170px !important;
  align-items: start !important;
  gap: 18px !important;
  padding: 20px 22px 24px !important;
  box-sizing: border-box !important;
}
#dailyScoringConfigView .daily-scoring-name-field { grid-column: 1 / 2 !important; }
#dailyScoringConfigView .daily-scoring-period-field { grid-column: 2 / 3 !important; }
#dailyScoringConfigView .daily-scoring-period-field small { display:block; margin-top:6px; color:#718096; font-size:12px; }
.monthly-maintenance-table .mm-special-hint { display:block; margin:0 0 5px; color:#64748b; font-size:11px; white-space:nowrap; }
.monthly-maintenance-table .mm-special-hint.is-synced { color:#047857; font-weight:700; }
#dailyScoringConfigView .daily-scoring-total-card {
  grid-column: 2 / 3 !important;
  min-height: 64px !important;
  display: grid !important;
  align-content: center !important;
}
#dailyScoringConfigView .daily-scoring-total-card.is-invalid {
  border-color: #f0a0aa !important;
  background: #fff2f4 !important;
}
#dailyScoringConfigView .daily-scoring-total-card.is-invalid strong { color: #d92d48 !important; }
#dailyScoringConfigView .daily-scoring-question-builder {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
#dailyScoringConfigView .daily-scoring-question-builder .table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}
#dailyScoringConfigView .daily-scoring-question-builder table { min-width: 0 !important; }
#dailyScoringConfigView .daily-scoring-question-builder th:nth-child(2),
#dailyScoringConfigView .daily-scoring-question-builder td:nth-child(2) { width: 130px !important; }
#dailyScoringConfigView .daily-scoring-question-builder th:last-child,
#dailyScoringConfigView .daily-scoring-question-builder td:last-child { width: 78px !important; }
#dailyScoringConfigView .daily-scoring-picker:first-of-type { grid-column: 1 / 2 !important; }
#dailyScoringConfigView .daily-scoring-picker:last-of-type { grid-column: 2 / 3 !important; }
#dailyScoringConfigView .daily-scoring-session-list {
  padding: 18px 20px 22px !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 1050px) {
  #dailyScoringConfigView .daily-scoring-form { grid-template-columns: 1fr !important; }
  #dailyScoringConfigView .daily-scoring-name-field,
  #dailyScoringConfigView .daily-scoring-total-card,
  #dailyScoringConfigView .daily-scoring-question-builder,
  #dailyScoringConfigView .daily-scoring-picker:first-of-type,
  #dailyScoringConfigView .daily-scoring-picker:last-of-type { grid-column: 1 / -1 !important; }
}
/* Daily scoring roster: equal panels, wrapped names, no horizontal scrollbar. */
#dailyScoringConfigView .daily-scoring-form {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
#dailyScoringConfigView .daily-scoring-name-field { grid-column: 1 / 2 !important; }
#dailyScoringConfigView .daily-scoring-total-card { grid-column: 2 / 3 !important; }
#dailyScoringConfigView .daily-scoring-picker,
#dailyScoringConfigView .daily-scoring-picker:first-of-type,
#dailyScoringConfigView .daily-scoring-picker:last-of-type {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
#dailyScoringConfigView .daily-scoring-picker:first-of-type { grid-column: 1 / 2 !important; }
#dailyScoringConfigView .daily-scoring-picker:last-of-type { grid-column: 2 / 3 !important; }
#dailyScoringConfigView .daily-scoring-picker > div {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}
#dailyScoringConfigView .daily-scoring-picker label {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#dailyScoringConfigView .daily-scoring-picker label span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 1050px) {
  #dailyScoringConfigView .daily-scoring-form { grid-template-columns: 1fr !important; }
  #dailyScoringConfigView .daily-scoring-name-field,
  #dailyScoringConfigView .daily-scoring-total-card,
  #dailyScoringConfigView .daily-scoring-picker:first-of-type,
  #dailyScoringConfigView .daily-scoring-picker:last-of-type { grid-column: 1 / -1 !important; }
}

/* Daily scoring monthly period layout v1 */
#dailyScoringConfigView .daily-scoring-period-field { grid-column: 2 / 3 !important; }
#dailyScoringConfigView .daily-scoring-total-card { grid-column: 1 / -1 !important; }
@media (max-width: 1050px) {
  #dailyScoringConfigView .daily-scoring-period-field,
  #dailyScoringConfigView .daily-scoring-total-card { grid-column: 1 / -1 !important; }
}

/* Daily scoring rater weights. */
#dailyScoringConfigView .daily-scoring-rater-weights {
  grid-column: 1 / -1;
  padding: 16px;
  border: 1px solid #cfe0f5;
  border-radius: 12px;
  background: #f8fbff;
}
#dailyScoringConfigView .daily-scoring-rater-weights.is-invalid { border-color: #f0a0aa; background: #fff7f8; }
#dailyScoringConfigView .daily-scoring-rater-weights > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
#dailyScoringConfigView .daily-scoring-rater-weights h4 { margin: 0 0 4px; color: #20364e; }
#dailyScoringConfigView .daily-scoring-rater-weights p { margin: 0; color: #71839a; font-size: 12px; }
#dailyScoringConfigView .daily-scoring-rater-weights > header > strong { color: #1f65d6; font-size: 18px; white-space: nowrap; }
#dailyScoringConfigView .daily-scoring-rater-weights.is-invalid > header > strong { color: #d92d48; }
#dailyScoringConfigView [data-daily-rater-weight-list] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
#dailyScoringConfigView [data-daily-rater-weight-list] > label { display: grid; grid-template-columns: minmax(0, 1fr) 92px 18px; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #dbe5f1; border-radius: 9px; background: #fff; }
#dailyScoringConfigView [data-daily-rater-weight-list] label span { display: grid; min-width: 0; }
#dailyScoringConfigView [data-daily-rater-weight-list] label strong { overflow: hidden; color: #253b55; text-overflow: ellipsis; white-space: nowrap; }
#dailyScoringConfigView [data-daily-rater-weight-list] label small { color: #71839a; }
#dailyScoringConfigView [data-daily-rater-weight-list] input { width: 100%; box-sizing: border-box; text-align: right; font-weight: 800; }
#dailyScoringConfigView [data-daily-rater-weight-list] label em { color: #71839a; font-style: normal; }

/* After-sales data tools use an isolated page while retaining the OA viewport. */
.quality-data-tools-view { padding: 0 !important; overflow: hidden; }
.quality-data-tools-frame {
  display: block;
  width: 100%;
  height: calc(100vh - 98px);
  min-height: 680px;
  border: 0;
  background: #f5f7fb;
}

/* 售后登记：台账关联与自动计算字段 */
.quality-register-form{display:grid;gap:16px}.quality-register-form .quality-form-wide{display:grid;gap:7px}.quality-register-form select[multiple]{min-height:132px;padding:8px 10px}.quality-register-form select[multiple] option{padding:8px 10px;border-radius:6px}.quality-computed-grid output,.quality-auto-value{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:9px 12px;border:1px solid #d9e3f2;border-radius:8px;background:#f5f8fc;color:#26364d}.quality-computed-grid small,.quality-auto-value small{color:#718096;font-weight:400}.quality-after-card select[multiple]{width:100%;min-height:126px;padding:6px}.quality-after-card section>small{display:block;margin-top:5px;color:#718096}

/* 202609 payroll upgrade: compact range config and desktop-safe overtime editor */
.holiday-overtime-config{margin:8px 0;border:1px solid #d9e6f5;border-radius:10px;background:#f8fbff;overflow:hidden}
.holiday-overtime-config details>summary{display:flex;align-items:center;gap:12px;padding:9px 12px;cursor:pointer;list-style:none;color:#21364f}
.holiday-overtime-config details>summary::-webkit-details-marker{display:none}
.holiday-overtime-config details>summary strong{white-space:nowrap}
.holiday-overtime-config details>summary span{flex:1;min-width:0;overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.holiday-overtime-config details>summary em{color:#2563eb;font-style:normal;font-size:13px;white-space:nowrap}
.holiday-overtime-config details[open]>summary{border-bottom:1px solid #e5edf7}
.holiday-overtime-config details[open]>summary em{font-size:0}.holiday-overtime-config details[open]>summary em::after{content:"收起";font-size:13px}
.holiday-overtime-config-body{padding:10px 12px 12px}
.holiday-overtime-config-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.holiday-overtime-config-head p{margin:0;color:#64748b;font-size:13px}
.holiday-overtime-config-head>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
.holiday-overtime-config table{width:100%;border-collapse:collapse}
.holiday-overtime-config th,.holiday-overtime-config td{padding:5px 6px;border-bottom:1px solid #e5edf7;text-align:left;font-size:13px}
.holiday-overtime-config input{width:100%;min-width:88px;box-sizing:border-box;padding:7px 8px}
.holiday-overtime-config input[type=date]{min-width:126px}.holiday-overtime-config .compact-empty{padding:8px}
.mm-overtime-button{white-space:nowrap}
.monthly-overtime-dialog-card{width:min(520px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 32px));overflow:auto}
.monthly-overtime-dialog-hint{margin:0 0 10px;color:#64748b;font-size:13px}
.monthly-overtime-dialog-rows{display:grid;gap:7px;margin-bottom:14px}
.monthly-overtime-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 11px;border:1px solid #e0e8f3;border-radius:9px;background:#f8fbff}
.monthly-overtime-choice>span:first-child{display:grid;gap:2px}.monthly-overtime-choice small{color:#64748b}.monthly-overtime-days{display:flex;align-items:center;gap:6px}
.monthly-overtime-days input{width:76px;text-align:right}.monthly-overtime-days em{color:#64748b;font-style:normal}
@media(max-width:800px){.holiday-overtime-config-head{align-items:flex-start;flex-direction:column}.holiday-overtime-config-body{overflow-x:auto}.holiday-overtime-config details>summary span{display:none}}
/* Monthly maintenance overtime completion state */
.monthly-maintenance-table .mm-col-overtime{width:170px}
.monthly-maintenance-table th:last-child,.monthly-maintenance-table td:last-child{padding-right:20px}
.mm-overtime-state{width:100%;margin:0;padding:4px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.mm-overtime-state:hover{background:#f1f6fc}
.mm-overtime-state:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.mm-overtime-state.is-pending{display:inline-flex;width:auto;align-items:center;gap:5px;white-space:nowrap}
.mm-overtime-state.is-done{display:block;position:relative;min-width:0;max-width:100%;padding:4px 38px 4px 4px}
.mm-overtime-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.mm-overtime-state.is-pending .mm-overtime-badge{background:#fff4e5;color:#a15c00}
.mm-overtime-state.is-done .mm-overtime-badge{background:#e8f7ee;color:#137a3f}
.mm-overtime-detail{display:block;margin-top:4px;color:#24364b;font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.mm-overtime-action{color:#2563eb;font-size:12px;font-weight:700;white-space:nowrap}
.mm-overtime-state.is-done .mm-overtime-action{position:absolute;top:6px;right:5px}
.mm-overtime-state small{display:block;margin-top:3px;color:#7a899d;font-size:11px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}

/* 岗位职责 */
.nav-direct-child { width: calc(100% - 18px); margin: 5px 9px 8px; padding: 10px 14px 10px 35px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; text-align: left; cursor: pointer; }
.nav-direct-child:hover, .nav-direct-child.active { color: var(--primary); background: rgba(37, 99, 235, .09); }
.job-responsibilities-shell { display: grid; gap: 16px; }
.job-responsibilities-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 26px 28px; color: #eff6ff; border-radius: 20px; background: linear-gradient(125deg, #12336d 0%, #2563eb 56%, #38bdf8 125%); box-shadow: 0 18px 50px rgba(30, 64, 175, .18); }
.job-responsibilities-hero .eyebrow { margin: 0 0 7px; font-size: 11px; font-weight: 800; letter-spacing: .16em; opacity: .78; }
.job-responsibilities-hero h3 { margin: 0; font-size: 29px; color: #fff; }
.job-responsibilities-hero p:last-child { max-width: 720px; margin: 9px 0 0; line-height: 1.7; opacity: .88; }
.job-responsibilities-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.job-responsibilities-hero .secondary { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.12); }
.job-responsibilities-hero .primary { color: #1746a2; background: #fff; border-color: #fff; }
.job-responsibilities-meta { padding: 11px 15px; color: #526581; border: 1px solid #dbe7f5; border-radius: 12px; background: #f8fbff; }
.job-responsibilities-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.job-responsibility-tab { display: flex; align-items: center; justify-content: space-between; min-height: 58px; gap: 10px; padding: 11px 14px; color: #334155; border: 1px solid #d9e3f0; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgba(15, 23, 42, .04); cursor: pointer; text-align: left; transition: .16s ease; }
.job-responsibility-tab:hover { transform: translateY(-1px); border-color: #93c5fd; box-shadow: 0 8px 22px rgba(37, 99, 235, .10); }
.job-responsibility-tab.active { color: #1746a2; border-color: #3b82f6; background: linear-gradient(135deg, #eff6ff, #fff); box-shadow: 0 8px 24px rgba(37, 99, 235, .15); }
.job-responsibility-tab span { font-weight: 750; line-height: 1.35; }
.job-responsibility-tab em { flex: 0 0 auto; padding: 3px 7px; color: #64748b; border-radius: 999px; background: #eef3f9; font-size: 11px; font-style: normal; }
.job-responsibilities-panel { overflow: hidden; border: 1px solid #dbe5f0; border-radius: 18px; background: #fff; box-shadow: 0 12px 36px rgba(15, 23, 42, .06); }
.job-responsibilities-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-bottom: 1px solid #e6edf5; background: linear-gradient(180deg, #fff, #f8fbff); }
.job-responsibilities-panel-head span { color: #8390a3; font-size: 12px; }
.job-responsibilities-panel-head h4 { margin: 3px 0 0; color: #17345f; font-size: 20px; }
.job-responsibilities-table-wrap { width: 100%; overflow: auto; }
.job-responsibilities-table { width: 100%; min-width: 1050px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.job-responsibilities-table th { position: sticky; top: 0; z-index: 1; padding: 13px 15px; color: #38506e; border-bottom: 1px solid #dbe5f0; background: #f4f8fd; font-size: 13px; text-align: left; }
.job-responsibilities-table th:nth-child(1) { width: 19%; } .job-responsibilities-table th:nth-child(2) { width: 37%; } .job-responsibilities-table th:nth-child(3) { width: 22%; } .job-responsibilities-table th:nth-child(4) { width: 22%; }
.job-responsibilities-table td { padding: 15px; vertical-align: top; border-right: 1px solid #edf1f6; border-bottom: 1px solid #e8eef5; }
.job-responsibilities-table tr:nth-child(even) td { background: #fbfdff; }
.job-responsibility-cell { color: #334155; line-height: 1.75; word-break: break-word; }
.job-responsibilities-table textarea { width: 100%; min-height: 116px; resize: vertical; padding: 11px 12px; color: #25364d; border: 1px solid #cfdceb; border-radius: 10px; background: #fff; line-height: 1.6; font: inherit; }
.job-responsibilities-table textarea:focus { outline: 3px solid rgba(59, 130, 246, .14); border-color: #3b82f6; }
.job-responsibilities-table .job-row-action { width: 72px; text-align: center; }
.job-responsibilities-table .danger-link { color: #dc2626; border: 0; background: transparent; cursor: pointer; }
@media (max-width: 760px) { .job-responsibilities-hero { align-items: stretch; flex-direction: column; padding: 21px; } .job-responsibilities-actions { justify-content: flex-start; } .job-responsibilities-tabs { display: flex; overflow-x: auto; padding-bottom: 4px; } .job-responsibility-tab { flex: 0 0 190px; } }

/* Release center editable generated notes */
.release-form-grid .release-summary-field { grid-column: 1 / -1; }
.release-form-grid input,
.release-form-grid textarea { width: 100%; }
.release-form-grid textarea { min-height: 210px; resize: vertical; line-height: 1.7; }
.release-edit-hint { margin: -4px 0 0; color: var(--muted); font-size: 13px; }
.release-pending-changes { display: grid; gap: 10px; }
.release-pending-item { padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; background: rgba(248, 251, 255, .88); }
.release-pending-item strong { display: block; color: #183b72; }
.release-pending-item p { margin: 5px 0 0; color: var(--muted); line-height: 1.65; white-space: pre-wrap; }
.release-history-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.release-history-card header span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.release-history-card .release-history-summary { white-space: pre-wrap; }
.release-notice-item header { display: grid; gap: 4px; }
.release-notice-item header span { color: var(--muted); font-size: 12px; }
.release-notice-item .release-notice-summary { white-space: pre-wrap; }