/* ============================================================================
 * iso2erp 系統管理模組樣式（UX 規格 v2.0 §5.7、§4.1 響應式、§8.2 對比度、附錄 D）
 *
 * 只補共用元件沒有的東西：權限矩陣的儲存格、事件／權限小標籤、AI 開關卡、稽核報告排版。
 * 顏色一律取自 tokens.css 與 iso-shell.css 的既有變數（都已做過 ≥4.5:1 檢查）；
 * 警告字色一律用 --iso-warning-fg-aa（#8A5A00 on #FFF8E1 = 5.58:1）。
 * 🔴 不改任何共用檔（契約 §9）。
 * ==========================================================================*/

/* ── 殼的已知問題：`.iso-content a{color:var(--iso-brand)}`（0,1,1）特異性高於
 *    `.iso-btn--primary{color:#fff}`（0,1,0），<a> 當按鈕會變成紫底紫字（對比 1.00:1）。
 *    iso-interview.css／iso-inventory.css 也各自貼過同一塊補丁 —— 已回報殼作者，
 *    在共用檔修好之前，這裡只補自己模組。 ------------------------------------- */
.iso-content a.iso-btn--primary,
.iso-content a.iso-btn--danger { color: #fff; }
.iso-content a.iso-btn--ghost,
.iso-content a.iso-btn--icon { color: var(--iso-text); }
.iso-content a.iso-btn--secondary { color: var(--iso-brand); }

/* 殼的另一個已知問題：`.iso-badge{display:inline-flex}` 是作者樣式，會蓋掉瀏覽器預設的
 * `[hidden]{display:none}`，所以 hidden 的 badge 還是看得到。同樣先在自己模組修。 */
.iso-badge[hidden] { display: none !important; }

/* ── 表格內的次要說明行 ─────────────────────────────────────────── */
.adm-sub {
  display: block;
  font-size: var(--iso-fs-caption);
  color: var(--iso-text-muted);
}
.adm-wrap { white-space: normal; min-width: 180px; max-width: 380px; }
.adm-nowrap { white-space: nowrap; }

/* AI 操作日誌欄位多（UX §6.14 要求記錄七項），輸入／輸出讓它換行、其餘不換行 */
#adm-ailog .adm-wrap { min-width: 140px; max-width: 190px; }
/* 輸入／輸出在儲存格裡放完整原文（匯出的 CSV 才是完整的稽核證據），畫面上裁成三行 */
.adm-clamp {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;      /* sale.order.commitment_date 這種長 token 要斷得掉 */
}
#adm-ailog .iso-table th, #adm-ailog .iso-table td { padding-inline: 10px; }
#adm-ailog .iso-table .iso-conf,
#adm-ailog .iso-table .iso-badge { white-space: nowrap; }

/* ── 角色標籤 ───────────────────────────────────────────────────── */
.adm-role {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 999px;
  font-size: var(--iso-fs-status-tag); font-weight: 500;
  background: var(--iso-brand-tint); color: var(--iso-brand);
  white-space: nowrap;
}
.adm-role .ico { width: 13px; height: 13px; }

/* ── 稽核事件類型標籤 ───────────────────────────────────────────── */
.adm-evt {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: var(--iso-radius-md);
  font-size: var(--iso-fs-status-tag); font-weight: 500;
  background: var(--iso-gray-100); color: var(--iso-text);
  white-space: nowrap;
}
.adm-evt .ico { width: 13px; height: 13px; }
.adm-evt--create  { background: var(--iso-info-bg);    color: var(--iso-info-fg); }
.adm-evt--update  { background: var(--iso-warning-bg); color: var(--iso-warning-fg-aa); }
.adm-evt--approve { background: var(--iso-success-bg); color: var(--iso-success-fg); }
.adm-evt--perm    { background: var(--iso-brand-tint); color: var(--iso-brand); }
.adm-evt--login   { background: var(--iso-gray-100);   color: var(--iso-text-muted); }

/* ── 權限層級小標籤（圖例、變更摘要、日誌明細共用）─────────────── */
.adm-perm {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: var(--iso-radius-md);
  font-size: var(--iso-fs-status-tag); font-weight: 500;
  background: var(--iso-gray-100); color: var(--iso-text-muted);
}
.adm-perm .ico { width: 13px; height: 13px; }
.adm-perm--none    { background: var(--iso-gray-100);   color: var(--iso-text-muted); }
.adm-perm--read    { background: var(--iso-info-bg);    color: var(--iso-info-fg); }
.adm-perm--write   { background: var(--iso-warning-bg); color: var(--iso-warning-fg-aa); }
.adm-perm--approve { background: var(--iso-success-bg); color: var(--iso-success-fg); }
.adm-perm--del     { background: var(--iso-danger-bg);  color: var(--iso-danger-fg); }
.adm-perm--add     { background: var(--iso-success-bg); color: var(--iso-success-fg); }
.adm-legend { padding: var(--iso-space-2) 0; }

/* ── 權限矩陣 ───────────────────────────────────────────────────── */
.adm-matrix th { white-space: nowrap; }
.adm-matrix td.adm-cell { padding: 6px var(--iso-space-2); }
.adm-select {
  width: 100%; min-width: 84px;
  padding: 5px 6px;
  font-size: var(--iso-fs-status-tag); font-weight: 500;
}
.adm-select--none    { background: var(--iso-gray-100);   color: var(--iso-text-muted); }
.adm-select--read    { background: var(--iso-info-bg);    color: var(--iso-info-fg); }
.adm-select--write   { background: var(--iso-warning-bg); color: var(--iso-warning-fg-aa); }
.adm-select--approve { background: var(--iso-success-bg); color: var(--iso-success-fg); }

/* ── 稽核日誌：日期區間查詢列 ───────────────────────────────────── */
.adm-range {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--iso-space-3);
  padding: var(--iso-space-3);
  margin-bottom: var(--iso-space-3);
  border: 1px solid var(--iso-border);
  border-radius: var(--iso-radius-lg);
  background: var(--iso-gray-100);
}
.adm-range > .ico { margin-bottom: 10px; color: var(--iso-text-muted); }
.adm-range .iso-field { flex: 0 1 168px; }
.adm-range .iso-caption { flex: 1 1 220px; }

/* ── 日誌明細裡的輸入／輸出原文 ─────────────────────────────────── */
.adm-io {
  padding: var(--iso-space-2) var(--iso-space-3);
  border: 1px solid var(--iso-ai-border);
  border-radius: var(--iso-radius-md);
  background: #FDFAFE;
  font-family: var(--iso-font-mono);
  font-size: var(--iso-fs-caption);
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

/* ── AI 輔助開關 ────────────────────────────────────────────────── */
.adm-ai-ico { color: var(--iso-ai-fg); }
.adm-master {
  border-color: var(--iso-ai-border);
  background: var(--iso-ai-bg);
}
.adm-master .iso-section__title { color: var(--iso-ai-fg); }

.adm-sw__grid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 190px 120px;
  align-items: center;
  gap: var(--iso-space-3);
}
.adm-sw__main { min-width: 0; }
.adm-sw__desc { margin: 6px 0 0; }
.adm-sw__reason {
  margin: 6px 0 0;
  display: flex; align-items: center; gap: 4px;
  color: var(--iso-warning-fg-aa);
}
.adm-sw__conf { display: flex; flex-direction: column; gap: 4px; }
.adm-sw__toggle { justify-content: flex-end; }
.adm-sw.is-off { background: var(--iso-gray-100); }
.adm-sw.is-off .adm-ai-ico { color: var(--iso-text-disabled); }
.adm-sw.is-off .adm-sw__main strong { color: var(--iso-text-muted); }

/* ── 稽核證明報告預覽 ───────────────────────────────────────────── */
.adm-report__title {
  font-size: var(--iso-fs-module-title); font-weight: 700;
  padding-bottom: var(--iso-space-2);
  margin-bottom: var(--iso-space-3);
  border-bottom: 2px solid var(--iso-brand);
  color: var(--iso-brand);
}
.adm-report__sub {
  margin: var(--iso-space-6) 0 var(--iso-space-2);
  font-size: var(--iso-fs-form-label); font-weight: 500;
}
.adm-report__table {
  border: 1px solid var(--iso-border);
  border-radius: var(--iso-radius-md);
}
.adm-report__table .ico { color: var(--iso-text-muted); vertical-align: -2px; }

/* ── 響應式（UX §4.1）───────────────────────────────────────────── */
@media (max-width: 1199px) {
  .adm-sw__grid { grid-template-columns: auto minmax(0, 1fr) 150px; }
  .adm-sw__toggle { grid-column: 2 / -1; justify-content: flex-start; }
  .adm-matrix .adm-select { min-width: 72px; }
}

@media (max-width: 767px) {
  /* 表格轉卡片後，平板隱藏的次要欄位在卡片上要看得到（卡片有欄位名，不擠） */
  .iso-table td.adm-show-mobile { display: flex !important; }
  /* 長字串（電子郵件、Agent 識別碼）在卡片裡要換行，不要被切掉 */
  .iso-table td { min-width: 0; }
  .iso-table td.iso-mono,
  .iso-table td .iso-mono,
  .iso-table td .adm-nowrap { overflow-wrap: anywhere; white-space: normal; }
  /* 殼的卡片模式：`tr{width:100%}` 再加上 12px 左右 margin 會比容器寬 24px，
     卡片右緣被切掉（iso-inventory.css 也貼過同一塊補丁）。 */
  .iso-table tr { width: auto; }
  /* 一格裡有主值 + 次要說明時，次要說明自己占一行，不要跟主值擠在同一行被切掉 */
  .iso-table td { flex-wrap: wrap; }
  .iso-table td .adm-sub { width: 100%; text-align: end; }
  .iso-section__title { white-space: nowrap; }   /* 分區標題不要被切成兩行（同 iso-inventory.css）*/
  #adm-ailog .adm-wrap { min-width: 0; max-width: none; }
  .adm-clamp { display: block; overflow: visible; }   /* 卡片上不裁，全文都看得到 */
  #adm-ailog .iso-table th, #adm-ailog .iso-table td { padding-inline: var(--iso-space-3); }
  .adm-wrap { max-width: none; }
  .adm-range .iso-field { flex: 1 1 100%; }
  .adm-sw__grid { grid-template-columns: auto minmax(0, 1fr); }
  .adm-sw__conf { grid-column: 1 / -1; }
  .adm-sw__toggle { grid-column: 1 / -1; justify-content: flex-start; }
  .adm-matrix .adm-select { min-width: 120px; }
  .adm-report__table { border: 0; }
}

/* ── 列印（稽核報告要印得出來）───────────────────────────────────── */
@media print {
  .iso-honest, .iso-toolbar, .iso-pager, .iso-page__foot, .iso-card__foot,
  .iso-batchbar, .adm-range { display: none !important; }
  .iso-card, .adm-report__table { break-inside: avoid; }
}
