/* ==========================================================================
   ERP 頁互動示範介面 —— /software/erp.html 專用
   用途：讓訪客未預約之前，先真的撳得到系統介面，睇下單據點樣一條線走完。
   實作：純前端切換（側欄、篩選、搜尋、展開列），不接任何後端，
         所有資料寫死在 HTML，重新載入即還原。
   配色：只用品牌三色（黑、白、#FF5F00）及其灰階，變數沿用 /css/style.css。
   命名：一律 sw-erp- 開頭，與首頁五系統示範（sw-demo-）互不干擾。
   載入：只在 erp.html 引用，其他頁面沒有這支檔案亦不會有任何影響。
   ========================================================================== */

/* --- 外框：模擬一個獨立應用視窗 --- */
.sw-erp {
  position: relative;
  display: grid;
  /* 右欄用 minmax(0, 1fr)：表格比欄寬時由內層橫向捲動，不會把整個外框撐爆 */
  grid-template-columns: 208px minmax(0, 1fr);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  background: var(--black);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
}

/* --- 左欄：功能選單 --- */
.sw-erp-side {
  background: #121216;
  border-right: 1px solid var(--border);
  padding: 16px 0 18px;
  display: flex;
  flex-direction: column;
}

.sw-erp-side-h {
  padding: 0 20px 14px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 8px;
}

.sw-erp-side-h b {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.02em;
}

.sw-erp-side-h span {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--text-faint);
}

.sw-erp-navs {
  display: flex;
  flex-direction: column;
}

/* 選單分組標題（銷售管理／財務會計／報表） */
.sw-erp-nav-g {
  padding: 12px 20px 6px;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  color: var(--text-faint);
}

.sw-erp-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 10px 20px;
  border: 0;
  border-left: 3px solid transparent;
  background: none;
  color: var(--text-dim);
  font-family: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: var(--t);
}

.sw-erp-nav svg {
  flex: none;
  opacity: 0.9;
}

.sw-erp-nav:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.03);
}

.sw-erp-nav[aria-current="true"] {
  background: var(--primary-soft);
  border-left-color: var(--primary);
  color: var(--primary);
  font-weight: 700;
}

.sw-erp-side-foot {
  margin: auto 16px 0;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.sw-erp-side-foot span {
  display: block;
  font-size: 11.5px;
  line-height: 1.9;
  color: var(--text-faint);
}

/* --- 右欄：工作區 --- */
.sw-erp-main {
  padding: 0 0 20px;
  min-width: 0;
}

/* 標題列，模擬應用視窗頂欄 */
.sw-erp-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 12px 18px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}

.sw-erp-light {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3A3A42;
  flex: none;
}

.sw-erp-light:last-of-type {
  background: var(--primary);
  opacity: 0.85;
}

.sw-erp-title {
  margin-left: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-dim);
  letter-spacing: 0.02em;
}

.sw-erp-badge {
  margin-left: auto;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 95, 0, 0.32);
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  flex: none;
}

/* 畫面標題與右上統計 */
.sw-erp-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 0;
}

.sw-erp-h {
  margin: 0;
  font-size: 19px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: 0.01em;
}

.sw-erp-stat {
  text-align: right;
  flex: none;
}

.sw-erp-stat b {
  display: block;
  font-size: 21px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1.2;
}

.sw-erp-stat span {
  font-size: 11.5px;
  color: var(--text-faint);
}

.sw-erp-sub {
  margin: 8px 20px 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--text-dim);
}

/* --- 工具列：篩選標籤／搜尋／主按鈕 --- */
.sw-erp-panel {
  padding: 16px 20px 0;
}

.sw-erp-panel[hidden] {
  display: none;
}

.sw-erp-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.sw-erp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.sw-erp-chip {
  padding: 6px 13px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.02);
  color: var(--text-dim);
  font-family: inherit;
  font-size: 12.5px;
  cursor: pointer;
  transition: var(--t);
}

.sw-erp-chip:hover {
  color: var(--white);
  border-color: var(--border-glow);
}

.sw-erp-chip.is-on {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: 700;
}

.sw-erp-search {
  flex: 1 1 160px;
  min-width: 140px;
}

.sw-erp-input {
  width: 100%;
  padding: 8px 13px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.02);
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
}

.sw-erp-input::placeholder {
  color: var(--text-faint);
}

.sw-erp-input:focus {
  border-color: var(--border-glow);
  outline: none;
}

.sw-erp-act {
  padding: 8px 16px;
  border-radius: 10px;
  border: 1px solid rgba(255, 95, 0, 0.45);
  background: var(--primary-soft);
  color: var(--primary);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--t);
  flex: none;
}

.sw-erp-act:hover {
  background: var(--primary);
  color: var(--black);
}

/* 工具列右側：匯出／列印／主要動作 */
.sw-erp-tools-r {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-left: auto;
}

/* 次要動作（匯出 Excel、列印）：不搶主按鈕的視線 */
.sw-erp-ghost {
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.02);
  color: var(--text-dim);
  font-family: inherit;
  font-size: 12.5px;
  cursor: pointer;
  transition: var(--t);
  flex: none;
}

.sw-erp-ghost:hover {
  color: var(--white);
  border-color: var(--border-glow);
}

/* --- 表格 ---
   資料區獨立捲動，模擬真實系統；展開明細時不會把整個視窗推長。 */
.sw-erp-scroll {
  position: relative;
  max-height: 430px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.012);
}

.sw-erp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  white-space: nowrap;
}

/* 表頭在捲動時固定；背景必須不透明，否則列會透出來 */
.sw-erp-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 11px 14px;
  text-align: left;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text-faint);
  background: #16161A;
  border-bottom: 1px solid var(--border);
}

.sw-erp-table tbody td {
  padding: 12px 14px;
  color: var(--text-dim);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.sw-erp-table td:first-child {
  color: var(--text);
  font-weight: 600;
}

/* 捲軸只用品牌灰階，避免瀏覽器預設色破壞配色 */
.sw-erp-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.sw-erp-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.sw-erp-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
}

.sw-erp-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 95, 0, 0.55);
}

/* --- 狀態標籤 --- */
.sw-erp-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  border: 1px solid transparent;
}

.sw-erp-pill-grey {
  color: var(--text-faint);
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
}

.sw-erp-pill-orange {
  color: var(--primary);
  border-color: rgba(255, 95, 0, 0.34);
  background: var(--primary-soft);
}

.sw-erp-pill-green {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.07);
}

/* 進行中的中間狀態（已出貨、已批准）：品牌色描邊但底色更淡，與橙色區分 */
.sw-erp-pill-blue {
  color: var(--white);
  border-color: var(--primary);
  background: rgba(255, 95, 0, 0.07);
}

.sw-erp-pill-warn {
  color: var(--primary);
  border-color: var(--primary);
  background: rgba(255, 95, 0, 0.2);
}

/* --- 可展開的資料列 --- */
.sw-erp-row {
  cursor: pointer;
  transition: background 0.2s var(--ease);
}

.sw-erp-row:hover {
  background: rgba(255, 255, 255, 0.03);
}

.sw-erp-row[aria-expanded="true"] {
  background: rgba(255, 95, 0, 0.06);
}

.sw-erp-row:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: -2px;
}

.sw-erp-row[hidden] {
  display: none;
}

/* 明細列：橫跨全表，八欄資料分兩欄排列 */
.sw-erp-detail td {
  padding: 0 !important;
  background: #121216;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.sw-erp-detail-in {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px 22px;
  margin: 0;
  padding: 16px 18px;
}

.sw-erp-detail-in div {
  min-width: 0;
}

.sw-erp-detail-in dt {
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--text-faint);
  margin-bottom: 3px;
}

.sw-erp-detail-in dd {
  margin: 0;
  font-size: 13px;
  color: var(--text);
  /* 項目名可以很長（「Cat6A 屏蔽網絡線（每箱 305 米）、機櫃整理連標籤工程…」），
     不換行的話會撐破格線壓到隔壁欄，所以強制在字元邊界折行。 */
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 明細展開後的下一步動作：由單據流向決定，把模組串成一條線 */
.sw-erp-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 18px 16px;
}

.sw-erp-acts:empty {
  display: none;
}

.sw-erp-mini {
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--primary);
  background: var(--primary-soft);
  color: var(--primary);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--t);
}

.sw-erp-mini:hover {
  background: var(--primary);
  color: var(--white);
}

.sw-erp-panel-note {
  margin: 10px 0 0;
  font-size: 11.5px;
  color: var(--text-faint);
}

/* --- 財務報表：匯總卡片 --- */
.sw-erp-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.sw-erp-card {
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.sw-erp-card span {
  display: block;
  font-size: 12px;
  color: var(--text-dim);
}

.sw-erp-card b {
  display: block;
  margin: 6px 0 2px;
  font-size: 21px;
  line-height: 1.25;
  color: var(--white);
  letter-spacing: -0.01em;
}

.sw-erp-card em {
  display: block;
  font-style: normal;
  font-size: 11.5px;
  color: var(--text-faint);
}

/* --- 財務報表：圖表 --- */
/* 圖表用內嵌 SVG，座標由 JS 與生成器算出，這裡只管排版與字色。
   顏色只准用品牌三色（黑／白／#FF5F00）及其灰階。 */
.sw-erp-charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.sw-erp-chart {
  margin: 0;
  padding: 14px 16px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.sw-erp-chart figcaption {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--white);
}

.sw-erp-chart-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

.sw-erp-chart svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

/* 圓餅圖固定成正方，旁邊留位放圖例 */
.sw-erp-chart-in > svg:not(.sw-erp-cv-wide) {
  width: 168px;
  flex: 0 0 168px;
}

/* 品牌只有黑白橙三色，圓餅的分類色必然要用到白與淺灰；這兩色在深底上
   相鄰時界線看不清，所以每一塊之間補一圈深色描邊分開。 */
.sw-erp-chart path {
  stroke-linejoin: round;
}

/* 折線／柱狀圖：圖例另佔一行（見 .sw-erp-legend-row），圖本身取滿寬。
   這裡必須用明確寬度而不是 flex: 1 1 auto——SVG 沒有內在尺寸（width
   由 CSS 給、height 為 auto），flex 撐開時算不出基準值，整張圖會塌成
   0 寬消失，只剩圖例。 */
.sw-erp-cv-wide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
}

/* SVG 內的文字：只能靠 class 上色，fill 由這裡指定。
   字級要考慮 viewBox 的等比縮放——圖在手機上縮到約 360px 寬時，
   520 單位的 viewBox 只餘七成，14px 會變成 10px 左右，剛好還讀得到。
   設定得再小就會糊成一片。 */
.sw-erp-cv-total {
  fill: var(--white);
  font-size: 21px;
  font-weight: 700;
}

.sw-erp-cv-sub {
  fill: var(--text-faint);
  font-size: 12px;
}

.sw-erp-cv-axis {
  fill: var(--text-faint);
  font-size: 14px;
}

.sw-erp-cv-name {
  fill: var(--text-dim);
  font-size: 14px;
}

.sw-erp-cv-val {
  fill: var(--white);
  font-size: 14px;
  font-weight: 700;
}

.sw-erp-legend {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1 1 auto;
  min-width: 0;
}

.sw-erp-legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  flex: 0 0 100%;
}

.sw-erp-legend li {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 3px 0;
  font-size: 11.5px;
  color: var(--text-dim);
}

.sw-erp-legend i {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 2px;
}

.sw-erp-legend-n {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sw-erp-legend b {
  color: var(--white);
  font-weight: 700;
}

.sw-erp-legend em {
  flex: 0 0 42px;
  text-align: right;
  font-style: normal;
  color: var(--text-faint);
}

.sw-erp-chart-note {
  margin: 10px 0 0;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--text-faint);
}

.sw-erp-chart-empty {
  margin: 0;
  padding: 30px 0;
  text-align: center;
  font-size: 12px;
  color: var(--text-faint);
}

/* --- 財務報表：分析表 --- */
.sw-erp-rep {
  margin-bottom: 18px;
}

.sw-erp-rep h4 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
}

.sw-erp-empty {
  padding: 26px 18px !important;
  text-align: center;
  font-size: 13px;
  color: var(--text-faint);
}

/* --- 提示條 ---
   定位以 .sw-erp 為基準，令提示不推走版面內容。 */
.sw-erp-toast {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 5;
  padding: 11px 16px;
  border-radius: 10px;
  border: 1px solid var(--border-glow);
  background: #0A0A0C;
  color: var(--text);
  font-size: 13px;
  line-height: 1.7;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s var(--ease), transform 0.3s var(--ease);
  pointer-events: none;
}

.sw-erp-toast.is-on {
  opacity: 1;
  transform: none;
}

/* --- 區塊收尾提示 --- */
/* --- 新增紀錄對話框 ---
   純前端示範：提交由 JS 攔下，表單沒有 action、沒有 method，
   即使 JS 失效亦不會把資料送去任何地方。 */
.sw-erp-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.sw-erp-modal[hidden] {
  display: none;
}

.sw-erp-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.sw-erp-modal-box {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: 88vh;
  overflow-y: auto;
  padding: 0 20px 18px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.7);
}

.sw-erp-modal-bar {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 -20px 12px;
  padding: 16px 20px 12px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}

.sw-erp-modal-bar b {
  font-size: 15px;
  color: var(--white);
}

.sw-erp-x {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: none;
  color: var(--text-dim);
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: var(--t);
}

.sw-erp-x:hover {
  color: var(--white);
  border-color: var(--border-glow);
}

.sw-erp-modal-lead {
  margin: 0 0 14px;
  font-size: 12.5px;
  line-height: 1.8;
  color: var(--text-faint);
}

.sw-erp-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

.sw-erp-f {
  display: block;
  min-width: 0;
}

.sw-erp-f > span {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  color: var(--text-dim);
}

/* 對話框內的控件要填滿欄寬，與工具列的搜尋框不同 */
.sw-erp-f .sw-erp-input {
  width: 100%;
  margin: 0;
}

.sw-erp-modal-foot {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.sw-erp-modal-foot .sw-erp-act,
.sw-erp-modal-foot .sw-erp-ghost {
  margin-left: 0;
}

/* --- 窄螢幕 --- */
@media (max-width: 1000px) {
  .sw-erp {
    grid-template-columns: 176px minmax(0, 1fr);
  }
  .sw-erp-detail-in {
    grid-template-columns: repeat(2, 1fr);
  }
  .sw-erp-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* 圖表在窄螢幕排成單欄，否則每張只剩一半寬，軸標籤會疊在一起 */
  .sw-erp-charts {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  /* 側欄改為橫向捲動的條帶，保留全部功能按鈕 */
  .sw-erp {
    grid-template-columns: minmax(0, 1fr);
  }
  .sw-erp-side {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 12px 0 0;
  }
  .sw-erp-side-h {
    padding: 0 14px 10px;
  }
  .sw-erp-navs {
    flex-direction: row;
    overflow-x: auto;
    padding: 0 10px 10px;
    gap: 8px;
  }
  .sw-erp-nav {
    width: auto;
    flex: none;
    border-left: 0;
    border-bottom: 3px solid transparent;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
  }
  .sw-erp-nav[aria-current="true"] {
    border-left-color: transparent;
    border-bottom-color: var(--primary);
  }
  .sw-erp-side-foot {
    display: none;
  }
  .sw-erp-head {
    padding: 14px 14px 0;
  }
  .sw-erp-sub {
    margin: 6px 14px 0;
  }
  .sw-erp-panel {
    padding: 14px 14px 0;
  }
  .sw-erp-act {
    margin-left: 0;
  }
  .sw-erp-detail-in {
    grid-template-columns: 1fr;
  }
  /* 表格橫向捲動，避免擠壓至不可讀 */
  .sw-erp-scroll {
    max-height: 360px;
  }
  .sw-erp-table {
    min-width: 520px;
  }
  .sw-erp-badge {
    display: none;
  }
  .sw-erp-toast {
    left: 10px;
    right: 10px;
    bottom: 10px;
    font-size: 12.5px;
  }
  .sw-erp-nav-g {
    display: none;
  }
  .sw-erp-cards {
    grid-template-columns: minmax(0, 1fr);
  }
  /* 手機上圓餅與圖例上下疊，橫放會擠到看不清楚 */
  .sw-erp-chart-in {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .sw-erp-chart-in > svg:not(.sw-erp-cv-wide) {
    width: 100%;
    flex: 0 0 auto;
    max-width: 220px;
    margin: 0 auto;
  }
  .sw-erp-tools-r {
    width: 100%;
    margin-left: 0;
  }
  .sw-erp-tools-r .sw-erp-act {
    margin-left: auto;
  }
  .sw-erp-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .sw-erp-acts {
    padding: 0 14px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sw-erp-nav,
  .sw-erp-chip,
  .sw-erp-act,
  .sw-erp-ghost,
  .sw-erp-mini,
  .sw-erp-x,
  .sw-erp-row,
  .sw-erp-toast {
    transition: none;
  }
}

/* --- 列印 ---
   只印工作區，不印外框、側欄與其他頁面區塊；表格全部展開，
   令「列印報表」印出來是完整的一張紙，而不是被裁走的畫面。 */
@media print {
  body {
    background: #FFFFFF;
    color: #000000;
  }
  .sw-sec > .sw-wrap > h2,
  .sw-sec > .sw-wrap > .sec-lead,
  .sw-erp-side,
  .sw-erp-bar,
  .sw-erp-tools,
  .sw-erp-toast,
  .sw-erp-modal,
  .sw-erp-panel-note,
  .sw-erp-empty {
    display: none !important;
  }
  .sw-erp {
    display: block;
    border: 0;
    border-radius: 0;
    background: #FFFFFF;
    box-shadow: none;
  }
  .sw-erp-main {
    padding: 0;
  }
  .sw-erp-head {
    padding: 0 0 10px;
  }
  .sw-erp-h,
  .sw-erp-stat b,
  .sw-erp-rep h4,
  .sw-erp-card b {
    color: #000000;
  }
  .sw-erp-sub,
  .sw-erp-stat span,
  .sw-erp-card span,
  .sw-erp-card em {
    color: #333333;
  }
  /* 十個畫面全部印出來，訪客攞到的是完整帳目 */
  .sw-erp-panel[hidden] {
    display: block;
  }
  .sw-erp-panel {
    padding: 0 0 14px;
    page-break-inside: avoid;
  }
  .sw-erp-scroll {
    max-height: none;
    overflow: visible;
  }
  .sw-erp-table {
    min-width: 0;
    border-collapse: collapse;
  }
  .sw-erp-table thead th {
    background: #F2F2F2;
    color: #000000;
  }
  .sw-erp-table tbody td {
    color: #000000;
    border-bottom: 1px solid #CCCCCC;
  }
  .sw-erp-detail td {
    background: #FAFAFA;
  }
  .sw-erp-detail-in dt {
    color: #555555;
  }
  .sw-erp-detail-in dd {
    color: #000000;
  }
  .sw-erp-pill {
    border-color: #000000;
    color: #000000;
    background: none;
  }
  .sw-erp-detail {
    display: table-row !important;
  }
  .sw-erp-acts {
    display: none;
  }
  .sw-erp-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sw-erp-card {
    border-color: #CCCCCC;
    background: none;
  }
}
