/* firm_theme — Odoo 風格的 Frappe Desk 換皮
 * 原則：只改 Frappe 暴露的 CSS 變數與少量元件外觀，不改結構、不改功能，升級不易壞。
 * 思維來源：Odoo 的清爽（白底、淡灰分隔、單一主色、圓角卡片、扁平按鈕），不抄它的圖示與程式。 */

:root,
[data-theme="light"] {
  /* 主色：單一、偏紫的沉穩色，其餘全部中性 */
  --primary: #6e4a64;
  --primary-color: #6e4a64;
  --btn-primary: #6e4a64;
  --btn-primary-hover: #5c3c54;
  --primary-hover: #5c3c54;
  --brand-color: #6e4a64;

  /* 底色與卡片 */
  --bg-color: #f3f4f6;
  --body-bg: #f3f4f6;
  --card-bg: #ffffff;
  --fg-color: #ffffff;
  --subtle-fg: #f7f7f9;
  --subtle-accent: #ede7eb;
  --navbar-bg: #ffffff;
  --sidebar-bg: #ffffff;
  --sidebar-select-color: #f2ecf0;
  --control-bg: #ffffff;
  --control-bg-on-gray: #ffffff;
  --disabled-control-bg: #f3f4f6;
  --modal-bg: #ffffff;

  /* 邊線與文字 */
  --border-color: #e4e6ea;
  --dark-border-color: #d6d9df;
  --text-color: #1f2430;
  --heading-color: #1f2430;
  --text-muted: #6b7280;
  --text-light: #8a93a0;
  --disabled-text-color: #a0a7b1;

  /* 圓角、陰影 */
  --border-radius: 6px;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 10px;
  --shadow-sm: 0 1px 2px rgba(20, 24, 40, 0.06);
  --shadow-base: 0 1px 3px rgba(20, 24, 40, 0.08), 0 1px 2px rgba(20, 24, 40, 0.04);
  --card-shadow: 0 1px 3px rgba(20, 24, 40, 0.08);

  /* 狀態色維持語意，不當主色用 */
  --green: #2f7d4f;
  --yellow: #a3701c;
  --red: #b5433a;
  --blue: #2d6a9f;
}

/* ---- 導覽列：白底、細底線、主色 logo 區 ---- */
.navbar {
  background: var(--navbar-bg) !important;
  border-bottom: 1px solid var(--border-color);
  box-shadow: none;
}
.navbar .navbar-brand,
.navbar .app-logo { filter: none; }
.navbar .form-control,
.navbar .search-bar .awesomplete input {
  background: var(--subtle-fg);
  border: 1px solid var(--border-color);
  border-radius: 999px;
}

/* ---- 頁面主體：留白、卡片化 ---- */
.page-container { background: var(--bg-color); }
.page-head { background: transparent; border-bottom: 0; }
.page-head .title-text { font-weight: 600; letter-spacing: .01em; }
.layout-main-section,
.form-page .form-layout .form-page-section,
.widget,
.list-view-container .frappe-list,
.report-wrapper,
.dashboard-widget-box {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-sm);
}
.layout-main-section-wrapper { margin-top: 12px; }
.layout-side-section .sidebar-menu,
.layout-side-section .form-sidebar {
  background: transparent;
}

/* ---- 表單：Odoo 式「單據紙張」 ---- */
.form-page .form-layout .form-section { border-bottom: 1px solid var(--border-color); }
.form-page .form-layout .form-section .section-head { color: var(--text-muted); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.form-control,
.form-control:focus,
.awesomplete > input {
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  box-shadow: none;
}
.form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(110, 74, 100, 0.15); }
.control-label { color: var(--text-muted); font-size: 12px; }

/* ---- 按鈕：扁平、主色實心、次要透明 ---- */
.btn { border-radius: var(--border-radius); box-shadow: none; font-weight: 500; }
.btn-primary,
.btn-primary:focus { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.btn-default,
.btn-secondary { background: #fff; border: 1px solid var(--border-color); color: var(--text-color); }
.btn-default:hover,
.btn-secondary:hover { background: var(--subtle-fg); }

/* ---- 清單／表格：淡灰表頭、行 hover ---- */
.list-row-head,
.datatable .dt-header,
.form-grid .grid-heading-row {
  background: var(--subtle-fg) !important;
  color: var(--text-muted);
  font-size: 12px;
  letter-spacing: .04em;
}
.list-row:hover,
.datatable .dt-row:hover .dt-cell { background: #faf8fa; }
.list-row-container { border-color: var(--border-color); }
.form-grid { border: 1px solid var(--border-color); border-radius: var(--border-radius); overflow: hidden; }
.form-grid .grid-row { border-color: var(--border-color); }

/* ---- 工作區（Workspace）：卡片與快捷鍵 ---- */
.widget.shortcut-widget-box,
.widget.links-widget-box,
.widget.onboarding-widget-box,
.widget.number-widget-box {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-sm);
}
.widget .widget-head .widget-title { font-weight: 600; }
.desk-sidebar .standard-sidebar-item.selected,
.desk-sidebar .standard-sidebar-item:hover { background: var(--sidebar-select-color); border-radius: var(--border-radius); }
.desk-sidebar .standard-sidebar-item.selected .sidebar-item-label { color: var(--primary); font-weight: 600; }

/* ---- 指標色（狀態章）維持語意 ---- */
.indicator-pill,
.indicator-pill-round { border-radius: 999px; font-weight: 500; }

/* ---- 對話框、下拉 ---- */
.modal-content { border-radius: var(--border-radius-lg); border: 1px solid var(--border-color); box-shadow: 0 12px 32px rgba(20, 24, 40, 0.16); }
.dropdown-menu { border-radius: var(--border-radius-md); border: 1px solid var(--border-color); box-shadow: var(--shadow-base); }

/* ---- 登入頁：置中卡片、主色按鈕 ---- */
.for-login .page-card,
.login-content .page-card { border-radius: var(--border-radius-lg); box-shadow: var(--card-shadow); border: 1px solid var(--border-color); }
.for-login .btn-login { background: var(--primary); border-color: var(--primary); }

/* ---- 字體：系統中文字優先，數字等寬 ---- */
body { font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.datatable .dt-cell__content,
.form-grid .grid-static-col,
.list-row .level-right { font-variant-numeric: tabular-nums; }

/* ---- 深色模式：同一套變數換值 ---- */
[data-theme="dark"] {
  --primary: #c79ab9;
  --btn-primary: #6e4a64;
  --btn-primary-hover: #7d5672;
  --bg-color: #141920;
  --body-bg: #141920;
  --card-bg: #1c232c;
  --fg-color: #1c232c;
  --subtle-fg: #242d38;
  --subtle-accent: #3a2b36;
  --navbar-bg: #1c232c;
  --sidebar-bg: #1c232c;
  --sidebar-select-color: #3a2b36;
  --control-bg: #1c232c;
  --control-bg-on-gray: #1c232c;
  --disabled-control-bg: #242d38;
  --modal-bg: #1c232c;
  --border-color: #323c47;
  --dark-border-color: #3e4955;
  --text-color: #e6eaef;
  --heading-color: #e6eaef;
  --text-muted: #a9b3bd;
  --text-light: #7b8691;
}
[data-theme="dark"] .list-row:hover,
[data-theme="dark"] .datatable .dt-row:hover .dt-cell { background: #222b35; }
[data-theme="dark"] .btn-default,
[data-theme="dark"] .btn-secondary { background: var(--card-bg); color: var(--text-color); }
