/* =========================================================
   RHINE MONO · 黑白极简皮肤（覆盖层，不改 styles.css）
   只在登录后的 app-mode 生效，登录页完全不受影响。
   语言：纯白纸面 / 1px 黑线 / 直角 / 等宽大写微字 / 黑条标题
   ========================================================= */

/* ---------- 1. 变量：把玻璃体系换成纯色 ---------- */
body.mono-mode {
  --bg: #ffffff;
  --card: #ffffff;
  --border: #e3e3e3;
  --text: #0b0b0b;
  --text-2: #5b5b5b;

  --primary: #0b0b0b;
  --primary-hover: #2a2a2a;
  --primary-soft: #f3f3f3;
  --primary-deep: #0b0b0b;

  /* 语义色保留但降饱和（进账红 / 支出绿，方向不可反转） */
  --red: #b3261e;
  --green: #1f6b3a;
  --amber: #8a5a00;

  /* 深色主题用的一套 --g-* token，这里改成浅色，避免 fallback 回落到深色 */
  --g-panel-bg: #ffffff;
  --g-panel-border: #e3e3e3;
  --g-panel-shadow: none;
  --g-panel-blur: none;
  --g-line: #ececec;
  --g-text: #0b0b0b;
  --g-text-2: #5b5b5b;
  --g-text-3: #8a8a8a;
  --g-money-in: #b3261e;
  --g-money-out: #1f6b3a;

  --shadow: none;
  --glass-panel: #ffffff;
  --glass-surface: #ffffff;
  --glass-surface-strong: #ffffff;
  --glass-border: #e3e3e3;
  --glass-shadow: none;

  background: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* ---------- 2. 骨架 ---------- */
body.mono-mode .app { padding: 0; gap: 0; background: #fff; }

body.mono-mode .topbar {
  height: 62px;
  padding: 0 28px;
  gap: 0;
  background: #fff;
  border-bottom: 1px solid #0b0b0b;
  box-shadow: none;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}

body.mono-mode .topbar-brand {
  padding-right: 22px; margin-right: 22px;
  border-right: 1px solid #e3e3e3;
  gap: 10px;
}
body.mono-mode .topbar-brand .brand-logo { display: flex; }
body.mono-mode .topbar-brand::after { display: none; }
body.mono-mode .topbar-name {
  font-size: 14px; font-weight: 700; letter-spacing: .02em;
  color: #0b0b0b; white-space: nowrap; max-width: none;
}

/* 顶栏板块：编号 + 下划线，去掉图标 */
body.mono-mode .topbar-tabs { counter-reset: tab; height: 62px; gap: 0; padding: 0; }
body.mono-mode .app-tab {
  height: 62px; padding: 0 17px;
  border-radius: 0; background: none;
  color: #5b5b5b; font-size: 13px; letter-spacing: .02em;
  counter-increment: tab;
}
body.mono-mode .app-tab .ic { display: none; }
body.mono-mode .app-tab::before {
  content: counter(tab, decimal-leading-zero);
  font: 400 9px/1 "SF Mono", Consolas, monospace;
  letter-spacing: .1em; color: #b4b4b4; margin-right: 8px;
}
body.mono-mode .app-tab:hover { background: #f6f6f6; color: #0b0b0b; }
body.mono-mode .app-tab.active { background: none; color: #0b0b0b; font-weight: 700; }
body.mono-mode .app-tab::after {
  left: 0; right: 0; bottom: 0; height: 1px;
  background: #0b0b0b; opacity: 0; transform: none;
}
body.mono-mode .app-tab.active::after { opacity: 1; }
body.mono-mode .app-tab.active::before { color: #0b0b0b; }

body.mono-mode .topbar-user { border-left: 1px solid #e3e3e3; padding-left: 18px; gap: 6px; }
body.mono-mode .tu-ic { color: #8a8a8a; }
body.mono-mode .tu-name { color: #0b0b0b; font-weight: 600; }
body.mono-mode .tu-btn { border-radius: 0; color: #5b5b5b; width: 30px; height: 30px; border: 1px solid transparent; }
body.mono-mode .tu-btn:hover { background: #f4f4f4; color: #0b0b0b; border-color: #e3e3e3; }
body.mono-mode .tu-btn.tu-danger:hover { background: #fdf2f2; color: #b3261e; border-color: #e9c7c5; }

body.mono-mode .app-body { gap: 0; padding: 0; }

body.mono-mode .sidebar {
  width: 302px; flex: 0 0 302px;
  border: 0; border-right: 1px solid #0b0b0b; border-radius: 0;
  background: #fff; box-shadow: none;
  -webkit-backdrop-filter: none; backdrop-filter: none;
  padding: 0;
}

body.mono-mode .content-stage { border-radius: 0; height: calc(100vh - 62px); }
body.mono-mode .content {
  background: #fff; border: 0; border-radius: 0;
  box-shadow: none; padding: 26px 40px 30px;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}

/* ---------- 3. 左侧：眉标 / 大标题 / 编号菜单 ---------- */
body.mono-mode .side-head {
  padding: 26px 28px 0; border: 0; margin: 0;
  display: block; height: auto;
}
body.mono-mode .side-head::before { display: none; }
body.mono-mode .side-title {
  font-size: 26px; font-weight: 700; letter-spacing: .01em;
  color: #0b0b0b; line-height: 1.2; display: block;
  white-space: normal; overflow: visible; text-overflow: clip;
}

/* 由 mono-shell.js 注入的英文大标题 / 眉标 / 黑块 */
.mono-page-eyebrow {
  display: flex; align-items: center; gap: 9px;
  font: 400 9px/1 "SF Mono", Consolas, monospace;
  letter-spacing: .24em; color: #8a8a8a; text-transform: uppercase;
  margin-bottom: 12px;
}
.mono-page-eyebrow::before { content: ""; width: 18px; height: 1px; background: #8a8a8a; }

.mono-eyebrow {
  display: flex; align-items: center; gap: 10px;
  font: 400 9px/1 "SF Mono", Consolas, monospace;
  letter-spacing: .24em; color: #8a8a8a; text-transform: uppercase;
  padding: 26px 28px 0;
}
.mono-eyebrow::before { content: ""; width: 22px; height: 1px; background: #0b0b0b; }
.mono-en {
  padding: 10px 28px 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px; font-weight: 700; line-height: 1.1;
  letter-spacing: -.01em; text-transform: uppercase; color: #0b0b0b;
  white-space: pre-line;
}
.mono-en::after {
  content: ""; display: block; height: 1px; background: #0b0b0b;
  margin: 20px 0 0;
}

body.mono-mode .sidebar .nav {
  counter-reset: nav;
  padding: 0 0 12px; gap: 0;
  flex: 1; min-height: 0; overflow-y: auto;
}
body.mono-mode .sidebar .nav-item {
  counter-increment: nav;
  padding: 10px 28px; margin: 0;
  border-radius: 0; background: none;
  border-top: 1px solid #ececec;
  color: #4a4a4a; font-size: 13px; letter-spacing: .02em;
  gap: 0; transform: none !important;
}
body.mono-mode .sidebar .nav-item:last-child { border-bottom: 1px solid #ececec; }
/* 编号替代原来的图标 */
body.mono-mode .sidebar .nav-item .ic { display: none; }
body.mono-mode .sidebar .nav-item::before {
  content: counter(nav, decimal-leading-zero);
  position: static; width: 22px; height: auto; flex: none;
  transform: none; opacity: 1; background: none; box-shadow: none;
  color: #b4b4b4; font: 400 9px/1 "SF Mono", Consolas, monospace;
  letter-spacing: .1em; margin-right: 10px; text-align: left;
}
body.mono-mode .sidebar .nav-item:hover {
  background: #f6f6f6; color: #0b0b0b;
}
body.mono-mode .sidebar .nav-item:hover::before { color: #8a8a8a; }
body.mono-mode .sidebar .nav-item.active {
  background: #f3f3f3; color: #0b0b0b; font-weight: 700;
  box-shadow: inset 3px 0 0 #0b0b0b;
}
body.mono-mode .sidebar .nav-item.active::before { color: #0b0b0b; font-weight: 700; }
body.mono-mode .sidebar .nav-item.active .ic { display: none; }

/* 侧栏底部：反白黑块（由 mono-shell.js 插入） */
.mono-node {
  margin-top: auto;
  background: #0b0b0b; color: #fff;
  padding: 14px 28px 16px;
  font-family: "SF Mono", Consolas, monospace;
}
.mono-node .k {
  font-size: 8px; letter-spacing: .24em; color: rgba(255, 255, 255, .5);
  text-transform: uppercase; margin-bottom: 8px;
}
.mono-node .row {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 4px 0; border-top: 1px solid rgba(255, 255, 255, .16);
  font-size: 9px; letter-spacing: .1em; color: rgba(255, 255, 255, .55);
}
.mono-node .row b { color: #fff; font-weight: 500; }
.mono-node .powered {
  margin-top: 12px; font-size: 8px; letter-spacing: .3em; color: rgba(255, 255, 255, .4);
}

/* ---------- 4. 内容区通用 ---------- */
body.mono-mode .page-head { margin-bottom: 18px; align-items: flex-start; }
body.mono-mode .page-title { font-size: 22px; font-weight: 700; letter-spacing: .01em; color: #0b0b0b; }
body.mono-mode .page-sub { font-size: 11.5px; color: #8a8a8a; letter-spacing: .02em; margin-top: 6px; }
body.mono-mode .section-title { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.mono-section {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #0b0b0b; color: #fff; padding: 8px 14px; margin-bottom: 0;
  font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
}
.mono-section span { font: 400 8.5px/1 "SF Mono", Consolas, monospace; letter-spacing: .22em; color: rgba(255, 255, 255, .6); }

body.mono-mode .card {
  background: #fff; border: 1px solid #e3e3e3; border-radius: 0;
  box-shadow: none;
}
body.mono-mode .content .card:hover {
  border-color: #c9c9c9; box-shadow: none; transform: none;
}
body.mono-mode .card-pad { padding: 18px 20px; }

/* 统计块：白底 + 细线，标签用等宽大写 */
body.mono-mode .stat {
  background: #fff; border: 1px solid #e3e3e3; border-radius: 0;
  box-shadow: none; min-height: 0; padding: 14px 16px;
}
body.mono-mode .stat-label {
  font: 400 9px/1.4 "SF Mono", Consolas, monospace;
  letter-spacing: .2em; text-transform: uppercase; color: #8a8a8a;
  margin-bottom: 10px;
}
body.mono-mode .stat-value { font: 600 22px/1.2 "SF Mono", Consolas, monospace; letter-spacing: -.01em; color: #0b0b0b; }
body.mono-mode .stat-value.pos { color: #b3261e; }
body.mono-mode .stat-value.neg { color: #1f6b3a; }
body.mono-mode .stat-row { border-bottom: 1px solid #ececec; font-size: 12px; padding: 6px 0; }
body.mono-mode .stat-row .k { color: #8a8a8a; font-family: "SF Mono", Consolas, monospace; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- 5. 表格：黑条表头 + 只有横线 ---------- */
body.mono-mode .table-wrap {
  border: 1px solid #0b0b0b; border-radius: 0; overflow-x: auto;
  box-shadow: none; background: #fff;
}
body.mono-mode .content table.tbl,
body.mono-mode .modal table.tbl {
  border-collapse: collapse; border: 0; border-radius: 0;
  box-shadow: none; background: #fff; width: 100%;
}
body.mono-mode .content table.tbl thead th,
body.mono-mode .modal table.tbl thead th,
body.mono-mode table.tbl thead th {
  background: #0b0b0b; color: #fff;
  font: 400 8.5px/1 "SF Mono", Consolas, monospace;
  letter-spacing: .2em; text-transform: uppercase;
  padding: 9px 12px; border: 0; white-space: nowrap;
}
body.mono-mode .content table.tbl th,
body.mono-mode .content table.tbl td,
body.mono-mode .modal table.tbl th,
body.mono-mode .modal table.tbl td,
body.mono-mode table.tbl td {
  border: 0; border-bottom: 1px solid #ececec;
  padding: 9px 12px; font-size: 12px; color: #3f3f3f;
  background: none; text-align: left;
}
body.mono-mode .content table.tbl tbody tr:nth-child(even),
body.mono-mode .content table.tbl tbody tr,
body.mono-mode .modal table.tbl tbody tr:nth-child(even),
body.mono-mode .modal table.tbl tbody tr { background: #fff; }
body.mono-mode .content table.tbl tbody tr:hover,
body.mono-mode .modal table.tbl tbody tr:hover { background: #f6f6f6; }
body.mono-mode .content table.tbl tbody tr:hover td:first-child { box-shadow: inset 2px 0 0 #0b0b0b; }
body.mono-mode .content table.tbl tr:last-child td { border-bottom: 0; }
body.mono-mode table.tbl td.num, body.mono-mode table.tbl th.num {
  text-align: right; font-family: "SF Mono", Consolas, monospace;
  font-variant-numeric: tabular-nums; letter-spacing: -.01em;
}
body.mono-mode table.tbl tfoot td { background: #fafafa; border-top: 1px solid #0b0b0b; font-weight: 600; }

body.mono-mode .row-action {
  color: #0b0b0b; font-size: 9.5px; font-family: "SF Mono", Consolas, monospace;
  letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
  border-bottom: 1px solid transparent; margin-right: 12px;
}
body.mono-mode .row-action:hover { border-bottom-color: #0b0b0b; }
body.mono-mode .row-action.danger { color: #b3261e; }
body.mono-mode .row-action.danger:hover { border-bottom-color: #b3261e; }

body.mono-mode .badge {
  border-radius: 0; background: none; border: 1px solid #0b0b0b; color: #0b0b0b;
  font: 400 8.5px/1.6 "SF Mono", Consolas, monospace;
  letter-spacing: .14em; text-transform: uppercase; padding: 1px 7px;
}
body.mono-mode .badge.ok { background: #0b0b0b; color: #fff; border-color: #0b0b0b; }
body.mono-mode .badge.income { border-color: #b3261e; color: #b3261e; }
body.mono-mode .badge.expense { border-color: #1f6b3a; color: #1f6b3a; }
body.mono-mode .badge.warn { border-color: #8a5a00; color: #8a5a00; }
body.mono-mode .badge.danger { border-color: #b3261e; color: #b3261e; }

/* ---------- 6. 按钮 / 分段 / 标签页 ---------- */
body.mono-mode .btn {
  border-radius: 0; border: 1px solid #0b0b0b; background: #fff; color: #0b0b0b;
  height: 34px; padding: 0 16px; font-size: 12px; letter-spacing: .04em;
  box-shadow: none;
}
body.mono-mode .btn:hover { background: #f4f4f4; color: #0b0b0b; }
body.mono-mode .btn-primary { background: #0b0b0b; border-color: #0b0b0b; color: #fff; font-weight: 600; }
body.mono-mode .btn-primary:hover { background: #2a2a2a; border-color: #2a2a2a; color: #fff; }
body.mono-mode .btn-danger { background: #fff; border-color: #b3261e; color: #b3261e; }
body.mono-mode .btn-danger:hover { background: #fdf2f2; }
body.mono-mode .btn-ghost { border-color: transparent; color: #5b5b5b; }
body.mono-mode .btn-ghost:hover { background: #f4f4f4; color: #0b0b0b; }
body.mono-mode .btn-sm { height: 28px; padding: 0 10px; font-size: 11px; }

body.mono-mode .seg { background: #f3f3f3; border-radius: 0; padding: 3px; gap: 2px; }
body.mono-mode .seg button { border-radius: 0; font-size: 12.5px; color: #5b5b5b; }
body.mono-mode .seg button.active { background: #0b0b0b; color: #fff; box-shadow: none; font-weight: 600; }
body.mono-mode .seg button.active.income { color: #fff; background: #0b0b0b; }
body.mono-mode .seg button.active.expense { color: #fff; background: #0b0b0b; }

body.mono-mode .tabs { gap: 0; border-bottom: 1px solid #0b0b0b; margin-bottom: 18px; }
body.mono-mode .tabs button {
  border-radius: 0; font-size: 12.5px; color: #5b5b5b;
  padding: 9px 16px; border: 0; background: none;
}
body.mono-mode .tabs button.active,
body.mono-mode .tabs .active { color: #0b0b0b; font-weight: 700; background: none; box-shadow: inset 0 -2px 0 #0b0b0b; }

/* ---------- 7. 表单：只留下划线的输入 ---------- */
body.mono-mode .form-field label,
body.mono-mode .form-row label {
  font: 400 9px/1.6 "SF Mono", Consolas, monospace;
  letter-spacing: .2em; text-transform: uppercase; color: #8a8a8a;
  margin-bottom: 6px; font-weight: 400;
}
body.mono-mode .form-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.mono-mode .form-field select,
body.mono-mode .form-field textarea,
body.mono-mode .form-row input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.mono-mode .form-row select,
body.mono-mode .form-row textarea {
  border: 0 !important; border-bottom: 1px solid #0b0b0b !important;
  border-radius: 0 !important; background: #fff !important;
  box-shadow: none !important; color: #0b0b0b !important;
  padding: 8px 0 !important; min-height: 34px;
  font-size: 13px;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
body.mono-mode .form-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body.mono-mode .form-field select:focus,
body.mono-mode .form-field textarea:focus,
body.mono-mode .form-row input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body.mono-mode .form-row select:focus,
body.mono-mode .form-row textarea:focus {
  border-bottom: 2px solid #0b0b0b !important;
  box-shadow: none !important; background: #fff !important;
  padding-bottom: 7px !important;
}
body.mono-mode .form-field input::placeholder,
body.mono-mode .form-field textarea::placeholder { color: #b4b4b4; }

/* 记一笔：清掉原来的玻璃重写 */
body.mono-mode .content .bill-form-standalone input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.mono-mode .content .bill-form-standalone select,
body.mono-mode .content .bill-form-standalone textarea {
  min-height: 34px !important; padding: 8px 0 !important;
  border: 0 !important; border-bottom: 1px solid #0b0b0b !important;
  border-radius: 0 !important; color: #0b0b0b !important;
  background: #fff !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  transform: none !important;
}
body.mono-mode .content .bill-form-standalone input:focus,
body.mono-mode .content .bill-form-standalone select:focus,
body.mono-mode .content .bill-form-standalone textarea:focus {
  border-bottom: 2px solid #0b0b0b !important;
  background: #fff !important; box-shadow: none !important;
  transform: none !important;
}
body.mono-mode .bill-form-standalone .form-field label { color: #8a8a8a !important; }
body.mono-mode .content .bill-form-standalone .seg {
  background: #f3f3f3 !important; border: 0 !important; border-radius: 0 !important;
  padding: 3px !important; min-height: 0 !important; box-shadow: none !important;
}
body.mono-mode .content .bill-form-standalone .table-wrap { border: 1px solid #0b0b0b; background: #fff; }
body.mono-mode .content .bill-form-standalone table.items-table { background: #fff; }
body.mono-mode .content .bill-form-standalone table.items-table th {
  background: #0b0b0b !important; color: #fff !important;
  font: 400 8.5px/1 "SF Mono", Consolas, monospace !important;
  letter-spacing: .2em; text-transform: uppercase; border: 0 !important;
}
body.mono-mode .content .bill-form-standalone table.items-table td {
  color: #3f3f3f !important; border-bottom: 1px solid #ececec !important;
}
body.mono-mode .content .bill-form-standalone .items-table :is(input, select) {
  border: 0 !important; border-bottom: 1px solid #d8d8d8 !important;
  background: #fff !important; box-shadow: none !important; border-radius: 0 !important;
  min-height: 28px !important; padding: 4px 0 !important;
}

/* 选择框箭头换成黑色小三角 */
body.mono-mode select {
  background-image:
    linear-gradient(45deg, transparent 50%, #0b0b0b 50%),
    linear-gradient(135deg, #0b0b0b 50%, transparent 50%) !important;
  background-position: calc(100% - 9px) calc(50% + 1px), calc(100% - 4px) calc(50% + 1px) !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  appearance: none; -webkit-appearance: none;
  padding-right: 20px !important;
}
body.mono-mode select option { color: #0b0b0b; background: #fff; }

/* ---------- 8. 浮层 ---------- */
body.mono-mode .modal-mask { background: rgba(0, 0, 0, .34) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.mono-mode .modal {
  border-radius: 0; border: 1px solid #0b0b0b; background: #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.mono-mode .modal-head {
  background: #0b0b0b; color: #fff; border-bottom: 0;
  padding: 11px 18px;
}
body.mono-mode .modal-head h3 { color: #fff; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; }
body.mono-mode .modal-close { color: rgba(255, 255, 255, .7); font-size: 18px; line-height: 1; }
body.mono-mode .modal-close:hover { color: #fff; }
body.mono-mode .modal-body { padding: 20px 18px; }
body.mono-mode .modal-foot { border-top: 1px solid #e3e3e3; padding: 12px 18px; gap: 8px; }
body.mono-mode .modal .card { border: 0; box-shadow: none; }

/* toast */
body.mono-mode .toast, body.mono-mode .toast-item {
  border-radius: 0; background: #0b0b0b; color: #fff; border: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  font-size: 12px; letter-spacing: .04em;
}

/* ---------- 9. 其它 ---------- */
body.mono-mode .empty { color: #8a8a8a; font-size: 12.5px; padding: 44px 0; }
body.mono-mode .muted { color: #8a8a8a; }
body.mono-mode .small { font-size: 11.5px; }
body.mono-mode .form-error { color: #b3261e; }

body.mono-mode .chart-bar, body.mono-mode .hbar-fill { background: #0b0b0b !important; }
body.mono-mode .ds-trend { border-radius: 0; font-family: "SF Mono", Consolas, monospace; font-size: 9px; letter-spacing: .1em; }
body.mono-mode .ds-trend.up { color: #b3261e; background: #fbf0ef; }
body.mono-mode .ds-trend.down { color: #1f6b3a; background: #eff5f1; }
body.mono-mode .ds-trend.flat { color: #5b5b5b; background: #f3f3f3; }

/* 流程树的节点也统一成黑线 */
body.mono-mode .fl-nav .tree-node { border-radius: 0; }
body.mono-mode .fl-nav .tree-node:hover { background: #f6f6f6; }

/* 滚动条 */
body.mono-mode .content::-webkit-scrollbar { width: 9px; height: 9px; }
body.mono-mode .content::-webkit-scrollbar-thumb { background: #d5d5d5; border: 2px solid #fff; }
body.mono-mode .content::-webkit-scrollbar-thumb:hover { background: #b4b4b4; }
body.mono-mode .content::-webkit-scrollbar-track { background: #fff; }

/* 主页活动日历与普通内容保持相同留白。 */
body.mono-mode .app.is-home .content { padding: 26px 40px 30px; overflow-y: auto; }

/* 项目列表在侧栏中以轻量目录呈现。 */
body.mono-mode .proj-nav { padding: 12px 0 22px; min-height: 0; overflow-y: auto; }
body.mono-mode .proj-nav-head { display: flex; align-items: center; justify-content: space-between; padding: 7px 34px 12px; border-bottom: 1px solid #ececec; color: #777; font: 10px/1.4 "SF Mono", Consolas, monospace; letter-spacing: .16em; }
body.mono-mode .proj-nav-add { border: 0; background: transparent; color: #111; font-size: 20px; line-height: 1; cursor: pointer; }
body.mono-mode .proj-nav-status { padding: 18px 34px; color: #8a8a8a; font-size: 12px; }
/* styles.css 的 `.card + .card{margin-top:16px}` 是给竖向堆叠用的，
   在 grid 里会把第 2 个起往后推 16px，导致同行卡片看起来一大一小 → 清掉 */
body.mono-mode .grid > .card + .card { margin-top: 0; }
body.mono-mode .sidebar .proj-nav .proj-nav-item {
  display: flex; width: 100%; align-items: center;
  gap: 11px; min-width: 0; counter-increment: none;
}
body.mono-mode .sidebar .proj-nav .proj-nav-item::before { display: none; }
body.mono-mode .proj-nav-dot { width: 5px; height: 5px; flex: none; border: 1px solid currentColor; transform: rotate(45deg); }
body.mono-mode .proj-nav-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mono-mode .project-panel-head { align-items: flex-start; }
body.mono-mode .project-panel-actions { display: flex; gap: 8px; flex-wrap: wrap; }
body.mono-mode .project-tabs { margin-top: 24px; }
body.mono-mode .project-empty { min-height: 58vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #777; }
body.mono-mode .project-empty-mark { font-size: 48px; line-height: 1; color: #bbb; }
body.mono-mode .project-empty h2 { margin: 20px 0 6px; font-size: 22px; font-weight: 500; color: #171717; }
body.mono-mode .project-empty p { margin: 0; font-size: 13px; }
body.mono-mode .proj-tab-body > .page-head { display: none; }
body.mono-mode .proj-tab-body .doc-tree > .form-field { display: none; }
body.mono-mode .proj-tab-body [data-pgact="back-list"] { display: none; }

/* 窄屏：与 demo 一致，侧栏收窄、顶栏简化 */
@media (max-width: 1180px) {
  body.mono-mode .sidebar { width: 260px; flex: 0 0 260px; }
  body.mono-mode .mono-en, body.mono-mode .mono-eyebrow { padding-left: 22px; padding-right: 22px; }
  body.mono-mode .sidebar .nav-item { padding-left: 22px; padding-right: 22px; }
  body.mono-mode .mono-node { padding-left: 22px; padding-right: 22px; }
  body.mono-mode .content { padding: 22px 26px 26px; }
}
@media (max-width: 900px) {
  body.mono-mode .sidebar { width: 64px; flex: 0 0 64px; }
  body.mono-mode .app.is-projects .sidebar { width: 210px; flex: 0 0 210px; }
  body.mono-mode .app.is-projects .sidebar .proj-nav .proj-nav-item { justify-content: flex-start; padding: 11px 16px; font-size: 12px; }
  body.mono-mode .app.is-projects .sidebar .proj-nav-head { padding: 7px 16px 12px; }
  body.mono-mode .side-head, body.mono-mode .mono-en, body.mono-mode .mono-eyebrow, body.mono-mode .mono-node { display: none; }
  body.mono-mode .sidebar .nav-item { padding: 12px 0; justify-content: center; }
  body.mono-mode .sidebar .nav-item::before { display: none; }
  body.mono-mode .sidebar .nav-item .ic { display: block; }
  body.mono-mode .app-tab { padding: 0 12px; }
  body.mono-mode .app-tab::before { display: none; }
  body.mono-mode .topbar { padding: 0 16px; }
  body.mono-mode .topbar-name { display: none; }
}

/* =========================================================
   10. 兜底层
   styles.css 里有一批非 app-mode 的 `.content …` 玻璃规则，
   特异性高于上面的皮肤规则，这里统一用 !important 压平。
   ========================================================= */
body.mono-mode .tu-ic { stroke: #8a8a8a !important; }

body.mono-mode .content .card,
body.mono-mode .content .scroll-card,
body.mono-mode .content .mat-list-wrap,
body.mono-mode .content .mat-detail,
body.mono-mode .modal .card,
body.mono-mode .modal .scroll-card {
  background: #fff !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}

body.mono-mode .content table.tbl,
body.mono-mode .modal table.tbl {
  background: #fff !important; box-shadow: none !important; border-radius: 0 !important;
}
body.mono-mode .content table.tbl th,
body.mono-mode .modal table.tbl th,
body.mono-mode #all-table table.tbl th {
  background: #0b0b0b !important; color: #fff !important;
  border: 0 !important;
  font: 400 8.5px/1 "SF Mono", Consolas, monospace !important;
  letter-spacing: .2em !important; text-transform: uppercase !important;
  padding: 9px 12px !important;
}
body.mono-mode .content table.tbl td,
body.mono-mode .modal table.tbl td,
body.mono-mode #all-table table.tbl td {
  background: none !important; color: #3f3f3f !important;
  border: 0 !important; border-bottom: 1px solid #ececec !important;
  padding: 9px 12px !important;
}
body.mono-mode .content table.tbl tbody tr,
body.mono-mode .content table.tbl tbody tr:nth-child(even),
body.mono-mode #all-table table.tbl tbody tr:nth-child(even) { background: #fff !important; }
body.mono-mode .content table.tbl tbody tr:hover { background: #f6f6f6 !important; }
body.mono-mode .content table.tbl tbody tr:hover td:first-child { box-shadow: inset 2px 0 0 #0b0b0b !important; }

body.mono-mode .content .row-action { color: #0b0b0b !important; }
body.mono-mode .content .row-action.danger { color: #b3261e !important; }

body.mono-mode .content .seg,
body.mono-mode .modal .seg { background: #f3f3f3 !important; border-radius: 0 !important; }
body.mono-mode .content .seg button,
body.mono-mode .modal .seg button { border-radius: 0 !important; color: #5b5b5b !important; }
body.mono-mode .content .seg button.active,
body.mono-mode .modal .seg button.active {
  background: #0b0b0b !important; color: #fff !important;
  box-shadow: none !important; font-weight: 600 !important;
}

body.mono-mode .content .btn:not(.btn-primary):not(.btn-danger),
body.mono-mode .modal .btn:not(.btn-primary):not(.btn-danger) {
  background: #fff !important; border-color: #0b0b0b !important; color: #0b0b0b !important;
}
body.mono-mode .content .btn:not(.btn-primary):not(.btn-danger):hover,
body.mono-mode .modal .btn:not(.btn-primary):not(.btn-danger):hover {
  background: #f4f4f4 !important;
}
body.mono-mode .content .btn-primary,
body.mono-mode .modal .btn-primary {
  background: #0b0b0b !important; border-color: #0b0b0b !important; color: #fff !important;
}

/* 账本：合计条做成示范稿里的数字条 */
body.mono-mode .ledger-summary {
  display: grid !important; grid-template-columns: repeat(3, 1fr);
  border: 0 !important; border-top: 1px solid #0b0b0b !important; border-bottom: 1px solid #0b0b0b !important;
  border-radius: 0 !important; background: #fff !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 0 18px !important; overflow: visible !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
body.mono-mode .ledger-summary .ls-item {
  display: flex !important; flex-direction: column; align-items: flex-start;
  gap: 7px !important; padding: 13px 20px !important;
  border-left: 1px solid #ececec !important;
}
body.mono-mode .ledger-summary .ls-item:first-child { border-left: 0 !important; padding-left: 0 !important; }
body.mono-mode .ledger-summary .ls-label {
  font: 400 9px/1 "SF Mono", Consolas, monospace !important;
  letter-spacing: .2em !important; text-transform: uppercase; color: #8a8a8a !important;
}
body.mono-mode .ledger-summary .ls-value {
  font: 600 21px/1.2 "SF Mono", Consolas, monospace !important;
  letter-spacing: -.01em !important; color: #0b0b0b !important;
  font-variant-numeric: tabular-nums;
}
body.mono-mode .ledger-summary .ls-value.pos { color: #b3261e !important; }
body.mono-mode .ledger-summary .ls-value.neg { color: #1f6b3a !important; }

body.mono-mode .ledger-filters { margin-bottom: 16px; padding: 0; }
body.mono-mode .ledger-table-card { background: none; border: 0; box-shadow: none; padding: 0; }

/* 行内操作：默认就是墨色，别被透明度冲淡 */
body.mono-mode .content .row-action { opacity: .9 !important; }
body.mono-mode .content .row-action:hover { opacity: 1 !important; }

/* 小按钮：紧凑描边；纯图标按钮（×）保持无框 */
body.mono-mode .content .btn.btn-sm:not(.btn-primary):not(.btn-danger):not(.btn-ghost),
body.mono-mode .modal .btn.btn-sm:not(.btn-primary):not(.btn-danger):not(.btn-ghost) {
  border: 1px solid #0b0b0b !important; background: #fff !important;
  height: 26px !important; padding: 0 9px !important;
  font-size: 10.5px !important; letter-spacing: .06em; color: #0b0b0b !important;
}
body.mono-mode .content .btn.btn-sm:not(.btn-primary):not(.btn-danger):not(.btn-ghost):hover,
body.mono-mode .modal .btn.btn-sm:not(.btn-primary):not(.btn-danger):not(.btn-ghost):hover {
  background: #f4f4f4 !important;
}
body.mono-mode .content .btn.btn-sm.btn-ghost,
body.mono-mode .modal .btn.btn-sm.btn-ghost {
  border: 0 !important; background: none !important; color: #8a8a8a !important;
  height: auto !important; padding: 0 4px !important; font-size: 14px !important;
}
body.mono-mode .content .btn.btn-sm.btn-ghost:hover,
body.mono-mode .modal .btn.btn-sm.btn-ghost:hover { color: #b3261e !important; background: none !important; }
body.mono-mode .content .btn.btn-sm.btn-primary,
body.mono-mode .modal .btn.btn-sm.btn-primary {
  height: 28px !important; padding: 0 10px !important;
  background: #0b0b0b !important; color: #fff !important;
}

/* 记一笔：表单外层不要卡片框，直接落在纸面上 */
body.mono-mode .content .bill-form-standalone.card,
body.mono-mode .content .bill-form.bill-form-standalone,
body.mono-mode .content .w-form-card {
  border: 0 !important; background: #fff !important; box-shadow: none !important;
  padding: 0 !important;
}

/* 复选框：14px 黑框，别被文本输入规则撑大 */
body.mono-mode .content input[type="checkbox"],
body.mono-mode .content input[type="radio"],
body.mono-mode .modal input[type="checkbox"],
body.mono-mode .modal input[type="radio"] {
  width: 14px !important; height: 14px !important; min-height: 0 !important;
  padding: 0 !important; border: 1px solid #0b0b0b !important;
  border-radius: 0 !important; background: #fff !important;
  box-shadow: none !important; accent-color: #0b0b0b; flex: none;
  vertical-align: -2px; margin: 0 6px 0 0;
}
body.mono-mode .content input[type="checkbox"]:checked,
body.mono-mode .content input[type="radio"]:checked { background: #0b0b0b !important; }
body.mono-mode .w-check-label {
  font-family: "Helvetica Neue", Arial, "PingFang SC", sans-serif !important;
  font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important;
  color: #3f3f3f !important; display: inline-flex; align-items: center; gap: 2px;
  width: auto !important;
}
body.mono-mode .content .w-check input[type="checkbox"] { margin-right: 7px !important; }

/* 行内操作若是 <button>，去掉浏览器默认边框 */
body.mono-mode .content .row-action,
body.mono-mode .modal .row-action,
body.mono-mode .content button.row-action {
  border: 0 !important; background: none !important;
  padding: 0 !important; box-shadow: none !important;
  font-family: "SF Mono", Consolas, monospace !important;
  font-size: 9.5px !important; letter-spacing: .12em !important;
  text-transform: uppercase; cursor: pointer;
}
body.mono-mode .content .row-action:hover { box-shadow: inset 0 -1px 0 #0b0b0b !important; }
body.mono-mode .content .row-action.danger:hover { box-shadow: inset 0 -1px 0 #b3261e !important; }

/* =========================================================
   11. 平台管理（.pm-*）：原来是深色玻璃，这里全部换成白纸黑线
   ========================================================= */
body.mono-mode .pm-tabs {
  display: flex; flex-wrap: wrap; gap: 0;
  padding: 0; margin: 0 0 18px;
  border: 0; border-bottom: 1px solid #0b0b0b; border-radius: 0;
  background: none !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
body.mono-mode .pm-tab {
  border: 0; border-radius: 0; background: none; box-shadow: none;
  padding: 9px 14px; font-size: 12.5px; font-weight: 500;
  color: #5b5b5b; letter-spacing: .02em;
}
body.mono-mode .pm-tab:hover { background: #f6f6f6; color: #0b0b0b; }
body.mono-mode .pm-tab.active {
  background: none; color: #0b0b0b; font-weight: 700;
  box-shadow: inset 0 -2px 0 #0b0b0b;
}
body.mono-mode .pm-card,
body.mono-mode .pm-panel .card {
  border: 1px solid #e3e3e3 !important; border-radius: 0 !important;
  background: #fff !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  padding: 18px 20px;
}
body.mono-mode .pm-tip { color: #8a8a8a !important; }
body.mono-mode .pm-add { border-top: 1px solid #ececec; }
body.mono-mode .pm-list .file-row { border-bottom: 1px solid #ececec; }
body.mono-mode .pm-cat-row { border: 1px solid #e3e3e3; border-radius: 0; background: #fff; }
body.mono-mode .pm-cat-head { background: #fafafa; }
body.mono-mode .pm-cat-body { border-top: 1px solid #ececec; background: #fff; }
body.mono-mode .pm-cat-name { color: #0b0b0b; }
body.mono-mode .pm-name-chip {
  border-radius: 0; background: #fff; color: #0b0b0b;
  border: 1px solid #d8d8d8; font-size: 11.5px; padding: 2px 7px;
}
body.mono-mode .pm-name-x { color: #8a8a8a; }
body.mono-mode .pm-name-x:hover { color: #b3261e; }
body.mono-mode .pm-card input:not([type="checkbox"]):not([type="radio"]):not([type="date"]),
body.mono-mode .pm-card textarea {
  border: 0 !important; border-bottom: 1px solid #0b0b0b !important;
  border-radius: 0 !important; background: #fff !important;
  box-shadow: none !important; color: #0b0b0b !important;
  min-height: 34px !important; padding: 7px 0 !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}

/* =========================================================
   12. 操作流程归纳（.fl-*）
   ========================================================= */
body.mono-mode .fl-nav-head,
body.mono-mode .fl-hint,
body.mono-mode .fl-nav-hint,
body.mono-mode .fl-zoom,
body.mono-mode .fl-right-label,
body.mono-mode .fl-right-tip { color: #8a8a8a !important; }
body.mono-mode .fl-nav-groupname { color: #4a4a4a; }
body.mono-mode .fl-nav-flows { border-left: 1px solid #ececec; }
body.mono-mode .fl-nav-flow { border-radius: 0; color: #5b5b5b; }
body.mono-mode .fl-nav-flow:hover { background: #f6f6f6; color: #0b0b0b; }
body.mono-mode .fl-nav-flow.active {
  background: #f3f3f3 !important; color: #0b0b0b !important; font-weight: 700;
  box-shadow: inset 3px 0 0 #0b0b0b;
}
body.mono-mode .fl-nav-del,
body.mono-mode .fl-nav-mini,
body.mono-mode .fl-mini { color: #8a8a8a; }
body.mono-mode .fl-nav-del:hover { color: #b3261e; }
body.mono-mode .fl-nav-mini:hover,
body.mono-mode .fl-mini:hover { color: #0b0b0b; }
body.mono-mode .fl-nav-add {
  border: 1px solid #0b0b0b !important; border-radius: 0 !important;
  background: #fff !important; color: #0b0b0b !important;
  font-family: "SF Mono", Consolas, monospace; font-size: 10px; letter-spacing: .1em;
}
body.mono-mode .fl-nav-addtop { border-style: dashed !important; }
body.mono-mode .fl-stage { background: #fff; }
body.mono-mode .fl-empty,
body.mono-mode .fl-loading { color: #8a8a8a; }
body.mono-mode .fl-right {
  background: #fff !important; border: 1px solid #0b0b0b !important;
  border-radius: 0 !important; box-shadow: 0 12px 30px rgba(0, 0, 0, .12) !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
body.mono-mode .fl-right-head {
  color: #0b0b0b; border-bottom: 1px solid #ececec;
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  font-family: "SF Mono", Consolas, monospace;
}
body.mono-mode .fl-chip {
  border-radius: 0; background: #fff; border: 1px solid #e3e3e3;
  border-left: 3px solid var(--chip, #0b0b0b); color: #3f3f3f;
}
body.mono-mode .fl-chip-node {
  border-radius: 0; background: #fafafa; border: 1px dashed #c9c9c9; color: #3f3f3f;
}

/* 流程画布底部工具条（原来是深色玻璃） */
body.mono-mode .fl-canvas-tools {
  background: #fff !important; border: 1px solid #0b0b0b !important;
  border-radius: 0 !important; box-shadow: 0 8px 20px rgba(0, 0, 0, .1) !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
body.mono-mode .fl-canvas-tools .fl-tool,
body.mono-mode .fl-tool {
  color: #0b0b0b !important; background: none !important; border: 0 !important;
  border-radius: 0 !important; font-size: 10.5px !important; letter-spacing: .1em;
}
body.mono-mode .fl-canvas-tools .fl-tool:hover,
body.mono-mode .fl-tool:hover { background: #f4f4f4 !important; }
body.mono-mode .fl-tool-wide { border-left: 1px solid #ececec !important; }
body.mono-mode .fl-zoom { color: #0b0b0b !important; }
body.mono-mode .fl-mid-title { color: #0b0b0b; font-weight: 600; }
body.mono-mode .fl-canvas { color: #8a8a8a; }

body.mono-mode .fl-canvas-empty { color: #9b9b9b !important; font-size: 12.5px; }
body.mono-mode .fl-mid-note,
body.mono-mode .fl-save-state { color: #8a8a8a !important; }

/* =========================================================
   13. 项目进度（.pg-*）
   progress.css 整套是按深色主题写的（浅青字压在浅底上等于隐形），
   这里统一换成墨色；红=涨/超支、绿=省，保留原约定。
   ========================================================= */
body.mono-mode .pg-note { color: #6f6f6f; }
body.mono-mode .pg-kpi {
  border: 1px solid #e3e3e3; border-radius: 0;
  background: #fafafa; box-shadow: none;
}
body.mono-mode .pg-kpi-l,
body.mono-mode .pg-kpi-s {
  color: #8a8a8a; opacity: 1;
  font-family: "SF Mono", Consolas, monospace;
  font-size: 9.5px; letter-spacing: .12em;
}
body.mono-mode .pg-kpi-v {
  color: #0b0b0b;
  font-family: "SF Mono", Consolas, monospace;
  letter-spacing: -.01em;
}
body.mono-mode .pg-up,
body.mono-mode .pg-pre { color: #b3261e; }
body.mono-mode .pg-down { color: #1f6b3a; }

body.mono-mode .pg-bar { background: #ececec; border-radius: 0; }
body.mono-mode .pg-bar > span { background: #0b0b0b; border-radius: 0; }
body.mono-mode .pg-bar-pre { background: #b4b4b4 !important; }
body.mono-mode .pg-bar-labor > span { background: #5b5b5b; }
body.mono-mode .pg-bar-txt { color: #8a8a8a; }

body.mono-mode .pg-est-part { border-left: 2px solid #d8d8d8; }
body.mono-mode .pg-est-t { color: #6f6f6f; }
body.mono-mode .pg-est-v { color: #0b0b0b; }
body.mono-mode .pg-est-total {
  color: #6f6f6f; border-top: 1px dashed #d8d8d8;
}
body.mono-mode .pg-est-total b { color: #0b0b0b; }

body.mono-mode .pg-tag {
  border-radius: 0; color: #0b0b0b;
  background: #f3f3f3; border-color: #d8d8d8;
}
body.mono-mode .pg-group {
  border: 1px solid #e3e3e3; border-radius: 0; background: #fff;
}
body.mono-mode .pg-group.is-plain { opacity: 1; }
body.mono-mode .pg-group-name { color: #0b0b0b; font-weight: 600; }
body.mono-mode .pg-group-cnt { color: #8a8a8a; opacity: 1; }
body.mono-mode .pg-group-rows > div > span { color: #6f6f6f; opacity: 1; }
body.mono-mode .pg-group-rows > div > b { color: #0b0b0b; }
body.mono-mode .pg-sec-head h3,
body.mono-mode .pg-sec-head { color: #0b0b0b; }
body.mono-mode .pg-tbl thead tr:first-child th[colspan] { color: #4a4a4a; }
body.mono-mode .pg-tbl .pg-g,
body.mono-mode .pg-tbl thead th.pg-g { border-left: 1px solid #ececec; }

/* =========================================================
   14. 总账：展开的账单详情
   原本是「左侧 3px 主色竖条 + 灰蓝底 + 内嵌小表又一层黑表头」，
   一个展开区被黑框三面包住，很闷。改成：无竖条、浅灰底、
   内嵌表头用浅灰（只保留主表一条黑表头）。
   ========================================================= */
body.mono-mode .bill-detail-cell {
  background: #fafafa !important;
  border-left: 0 !important;
  border-bottom: 1px solid #ececec;
  padding: 12px 18px 12px 22px !important;
}
body.mono-mode .bill-detail-cell table.tbl thead th,
body.mono-mode #all-table .bill-detail-cell table.tbl thead th,
body.mono-mode .content .bill-detail-cell table.tbl thead th {
  background: #f2f2f2 !important;
  color: #4a4a4a !important;
  border-bottom: 1px solid #e0e0e0 !important;
  letter-spacing: .14em !important;
}
body.mono-mode .bill-detail-cell table.tbl td,
body.mono-mode #all-table .bill-detail-cell table.tbl td {
  background: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
body.mono-mode .bill-detail-cell table.tbl tbody tr:last-child td,
body.mono-mode #all-table .bill-detail-cell table.tbl tbody tr:last-child td { border-bottom: 0 !important; }
body.mono-mode tr.bill-detail > td,
body.mono-mode #all-table tr.bill-detail > td { border-bottom: 1px solid #ececec !important; background: #fafafa !important; }

/* ---- 常驻标记（项目 / 供货商 / 来往公司，2026-11-05） ---- */
body.mono-mode .pin-tag {
  display: inline-block;
  margin-right: 6px;
  font-style: normal;
  font-size: 12px;
  line-height: 1;
  color: #0b0b0b;
  vertical-align: 1px;
}

/* ---- 项目 / 供货商 搜索选择器（2026-11-05，entity-picker.js） ---- */
body.mono-mode .ep { position: relative; }
body.mono-mode .ep-input {
  width: 100%;
  height: 38px;
  padding: 0 34px 0 12px;
  border: 1px solid #d8d8d8;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #0b0b0b;
  outline: 0;
  border-radius: 0;
}
body.mono-mode .ep-input:focus { border-color: #0b0b0b; }
body.mono-mode .ep-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  color: #9a9a9a;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
body.mono-mode .ep-clear:hover { color: #0b0b0b; }
body.mono-mode .ep-list {
  position: absolute;
  z-index: 60;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  max-height: 268px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #0b0b0b;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
}
body.mono-mode .ep-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 12px;
  border: 0;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  text-align: left;
  font-size: 13px;
  color: #0b0b0b;
  cursor: pointer;
}
body.mono-mode .ep-row:last-child { border-bottom: 0; }
body.mono-mode .ep-row:hover,
body.mono-mode .ep-row.is-active { background: #f4f4f4; }
body.mono-mode .ep-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.mono-mode .ep-note {
  flex: none;
  max-width: 45%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #9a9a9a;
  font-size: 12px;
}
body.mono-mode .ep-empty { padding: 14px 12px; font-size: 12px; color: #9a9a9a; }
