﻿: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-type-panel,
.approval-form-panel,
.approval-list-panel {
  margin: 0;
}

.approval-type-panel {
  position: sticky;
  top: 16px;
  padding: 16px;
  border: 1px solid #dfe3e7;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.approval-type-grid {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.approval-type-grid label {
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  border: 1px solid #dfe3e7;
  border-radius: 8px;
  background: #f8f9fa;
  padding: 0 12px;
  font-weight: 800;
}

.approval-type-grid label:has(input:checked) {
  border-color: rgba(223, 63, 88, 0.45);
  background: var(--accent-soft);
  color: var(--accent);
}

.approval-type-grid input {
  width: 16px;
  height: 16px;
  min-height: 16px;
}

.approval-form {
  display: grid;
  gap: 16px;
}

.approval-form .approval-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.approval-form,
.approval-form > label,
.approval-form-panel,
.approval-list-panel {
  min-width: 0;
}

.approval-form input,
.approval-form select,
.approval-form textarea,
.approval-form button[type="submit"] {
  max-width: 100%;
}

.approval-form textarea {
  width: 100%;
  min-height: 132px;
  resize: vertical;
}

.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;
  }

  .approval-type-panel {
    position: static;
  }

  .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;
  }

  .approval-type-grid,
  .approval-form .approval-form-grid {
    grid-template-columns: 1fr;
  }
}

/* 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);
}

.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;
}

.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-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;
}

.new-product-form button {
  align-self: end;
  width: fit-content;
  min-width: 150px;
  padding-inline: 20px;
}

.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;
}

.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 138px;
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 5px;
  min-height: 48px;
  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 2;
  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.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;
}

.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, 1.25fr) minmax(0, .9fr);
  gap: 10px;
}

.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-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-ai-result {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fff;
}

.new-product-summary {
  margin: 0;
  color: #263449;
  line-height: 1.7;
}

.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;
}

.new-product-ai-tables h5 {
  margin: 0 0 8px;
}

.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 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-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 table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.decision-assessment th,
.decision-assessment td {
  padding: 10px 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-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;
}

.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-list {
  display: grid !important;
  gap: 4px !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;
  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 .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 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;
}

#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;
  padding: 3px 8px !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 {
  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 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-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 {
  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;
}

/* 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 {
  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;
}
