:root {
  --brand: #1f4e79;
  --brand-light: #2f6fa8;
  --bg: #f2f4f7;
  --panel-bg: #ffffff;
  --border: #dde2e8;
  --text: #22282f;
  --text-muted: #6b7480;
  --danger: #c0392b;
  --warn-bg: #fdecea;
  --ok-bg: #eafaf1;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
}

/* ---- 顶部页眉：横跨全宽，对照 docx 线框图 logo + 公司名 + 系统名 ---- */
.site-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 24px;
  background: #fff;
  border-bottom: 2px solid var(--brand);
}
.site-logo {
  height: 42px;
  width: auto;
}
.site-header-text .company-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
}
.site-header-text .system-name {
  font-size: 12.5px;
  color: var(--text-muted);
}

/* ---- 底部页脚：横跨全宽，对照 docx 线框图 ---- */
.site-footer {
  text-align: center;
  padding: 14px 12px;
  color: var(--text-muted);
  font-size: 12px;
  border-top: 1px solid var(--border);
  background: #fff;
}
.site-footer div + div { margin-top: 2px; }

.app-shell {
  display: flex;
  min-height: calc(100vh - 140px);
}

/* ---- Sidebar ---- */
/* 2026-07-16（问题4）：侧栏从 200px 收窄到 150px，把省下来的横向空间让给右侧订单表格。
   导航文字最长是"车辆及安全管理"7个字，150px 足够放下、不会换行。 */
.sidebar {
  width: 150px;
  background: var(--brand);
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.nav-item {
  display: block;
  padding: 13px 14px;
  color: #dce6f0;
  text-decoration: none;
  border-left: 3px solid transparent;
  white-space: nowrap;
}
.nav-item:hover { background: rgba(255,255,255,0.08); }
.nav-item.active {
  background: rgba(255,255,255,0.14);
  border-left-color: #fff;
  font-weight: 600;
  color: #fff;
}
.nav-item.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* ---- Main ---- */
.main {
  flex: 1;
  padding: 20px 24px 60px;
  overflow-x: auto;
}

.panel {
  background: var(--panel-bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 16px 18px 18px;
  margin-bottom: 22px;
}
.panel h2 {
  font-size: 15px;
  margin: 0 0 10px;
}
.panel-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.panel-header h2 { margin: 0; }
.badge {
  background: var(--brand-light);
  color: #fff;
  border-radius: 10px;
  font-size: 11px;
  padding: 2px 9px;
  font-weight: 600;
}

.contact-line {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0 0 10px;
}
.contact-line span { color: var(--text); font-weight: 600; }

/* ---- 邮件下单渠道表格（纯展示，无勾选） ---- */
.plain-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.plain-table th, .plain-table td {
  border: 1px solid var(--border);
  padding: 8px 10px;
  text-align: left;
}
.plain-table th {
  background: #f8f9fb;
  color: var(--text-muted);
  font-weight: 600;
  font-size: 12.5px;
}

.table-scroll {
  overflow-x: auto;
}

.order-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  font-size: 12.5px;
}
.order-table th, .order-table td {
  border-bottom: 1px solid var(--border);
  padding: 8px 6px;
  text-align: left;
  vertical-align: top;
}
.order-table th {
  color: var(--text-muted);
  font-weight: 600;
  font-size: 12px;
  background: #f8f9fb;
  white-space: nowrap;
}
.order-table .col-check { width: 30px; }
/* 2026-07-16（问题1）：去掉了原来的 tr.row-anomaly 整行红底——识别有问题的订单不再整行标红，
   改为只把"状态"徽标文字标红（.status-flagged）+ 备注列的 ⚠ 红字（.cell-anomaly-flag）。 */
.order-table tr:hover td { background: #f4f8fc; }

.cell-anomaly-flag {
  color: var(--danger);
  font-weight: 600;
  font-size: 11.5px;
}

/* ---- 状态徽标 ---- */
.status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}
.status-待审核 { background: #fff3cd; color: #8a6400; }
.status-已审核 { background: #d4edda; color: #1e7e34; }
.status-未发车队 { background: #ffe4c4; color: #8a4b00; }
.status-已发车队 { background: #d1e7fd; color: #0a4a91; }
.status-待车队回复 { background: #d1e7fd; color: #0a4a91; }
.status-已回复客户 { background: #e2e3ff; color: #3d3d9e; }
.status-订单需关注 { background: #f8d7da; color: #9d1c26; }
.status-订单执行中 { background: #cff4fc; color: #0c6674; }
.status-已结束 { background: #e2e3e5; color: #41464b; }
/* 2026-07-16（问题1）：识别有问题的订单——徽标底色和文字都变红提醒，覆盖上面按状态名给的配色。
   放在最后，选择器权重相同、靠后者生效。 */
.status-badge.status-flagged { background: #f8d7da; color: #9d1c26; }

.actions-cell { white-space: nowrap; }
.actions-cell button { margin-right: 8px; }

/* 2026-07-16（问题6）："3天内订单"筛选按钮：靠 margin-left:auto 顶到标题栏最右侧；
   打开时（.active）用品牌色高亮，让用户清楚当前正在筛选状态。 */
.btn-filter-3d { margin-left: auto; }
.btn-filter-3d.active {
  background: var(--brand);
  color: #fff;
}

/* 2026-07-16（问题3）：A-O 原文可展开面板 */
.order-table tr.ao-expand-row td { background: #f7f9fc; padding: 0; }
.order-table tr.ao-expand-row:hover td { background: #f7f9fc; }
.ao-panel { padding: 10px 14px; }
.ao-panel-title {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 8px;
  font-weight: 600;
}
.ao-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 6px 16px;
}
.ao-item {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 4px 0;
  border-bottom: 1px dashed var(--border);
  font-size: 12px;
}
.ao-col { color: var(--text-muted); font-size: 11px; }
.ao-val { color: var(--text); white-space: pre-wrap; word-break: break-word; }
.ao-val.ao-empty { color: #b7c0cb; font-style: italic; }

.panel-actions {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.hint {
  color: var(--text-muted);
  font-size: 12px;
  margin: 10px 0 0;
}

.empty-row td {
  text-align: center;
  color: var(--text-muted);
  padding: 18px;
  font-style: italic;
}

/* ---- Buttons ---- */
.btn {
  border: none;
  border-radius: 5px;
  padding: 7px 14px;
  font-size: 12.5px;
  cursor: pointer;
  font-weight: 600;
}
.btn-primary { background: var(--brand-light); color: #fff; }
.btn-primary:hover { background: var(--brand); }
.btn-primary:disabled { background: #a9bfd1; cursor: not-allowed; }
.btn-secondary { background: #e8ecf1; color: var(--text); }
.btn-secondary:hover { background: #dde2e8; }
.btn-sm { padding: 4px 10px; font-size: 12px; }
.btn-link {
  background: none;
  border: none;
  color: var(--brand-light);
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 600;
  padding: 0;
}
.btn-link:hover { text-decoration: underline; }
.btn-approve { color: #1e7e34; }
.btn-view { color: var(--text-muted); }
.btn-danger { color: #c0392b; }

select.vendor-select {
  padding: 6px 10px;
  border-radius: 5px;
  border: 1px solid var(--border);
  font-size: 12.5px;
}

/* ---- Modal ---- */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(20, 26, 33, 0.45);
  align-items: center;
  justify-content: center;
  z-index: 50;
}
.modal-overlay.open { display: flex; }
.modal {
  background: #fff;
  border-radius: 8px;
  width: 520px;
  max-width: 92vw;
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 40px rgba(0,0,0,0.25);
}
/* 2026-07-15 新增：企业微信消息/回复客户邮件正文的预览弹窗内容比普通表单宽，需要更大的弹窗 */
.modal.modal-wide { width: 860px; }
.modal-body pre.preview-text {
  white-space: pre-wrap;
  word-break: break-word;
  background: #f6f7f8;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 13px;
}
.preview-block + .preview-block { margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--border); }
.preview-block-title { font-weight: 600; margin-bottom: 6px; font-size: 13px; color: #555; }
/* 第14批项目1-2：修改订单弹窗标题栏可拖拽，给个抓手光标提示 */
#edit-modal-header { cursor: grab; user-select: none; }
#edit-modal-header:active { cursor: grabbing; }

/* 第14批项目5：企业微信预览里每条的"拷贝信息/已发送"按钮 + 发送记录 + 绿色对勾 */
.preview-block-actions { margin-top: 8px; display: flex; gap: 8px; }
.preview-block-actions .btn { font-size: 12px; padding: 4px 12px; }
.sent-check { color: #1e7e34; font-weight: 600; font-size: 12px; margin-left: 6px; }
.send-records { margin-top: 6px; }
.send-record { font-size: 11.5px; color: var(--text-muted); }
.email-html-preview table { border-collapse: collapse; width: 100%; font-size: 12px; }
.email-html-preview th, .email-html-preview td { border: 1px solid #ccc; padding: 4px 6px; }
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
}
.modal-header h3 { margin: 0; font-size: 15px; }
.modal-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--text-muted);
  line-height: 1;
}
.modal-body {
  padding: 16px 18px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.modal-body label {
  display: flex;
  flex-direction: column;
  font-size: 12.5px;
  color: var(--text-muted);
  gap: 4px;
}
.modal-body input, .modal-body textarea, .modal-body select {
  font-family: inherit;
  font-size: 13px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text);
}
.modal-body textarea { resize: vertical; min-height: 46px; }
.modal-footer {
  padding: 12px 18px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* 只读查看弹窗 */
.view-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--border);
}
.view-field .view-label {
  font-size: 11.5px;
  color: var(--text-muted);
}
.view-field .view-value {
  color: var(--text);
  white-space: pre-wrap;
}
.view-field .view-value:empty::after {
  content: "（空）";
  color: var(--text-muted);
  font-style: italic;
}

/* 交叉核对机制（2026-07-16新增）：某个字段的Excel原文跟系统当前值不一样时显示的小字提示，
   见 app.js 的 rawExcelHintFor —— 复用现成的 --danger/--warn-bg 配色，跟"待人工审核"表格里
   已有的异常高亮保持视觉上一致，不用户再学一套新的颜色含义。 */
.raw-excel-hint {
  margin-top: 3px;
  padding: 3px 7px;
  background: var(--warn-bg);
  color: var(--danger);
  border-radius: 4px;
  font-size: 11.5px;
  line-height: 1.4;
  white-space: pre-wrap;
}

/* ---- Toast ---- */
.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #22282f;
  color: #fff;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
  z-index: 100;
}
.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* 人工地点词典学习：仅在操作人员明确勾选时，才把本单的“英文原文 → 中文标准名”写入数据库。 */
.dictionary-learn-box {
  margin-top: -4px;
  padding: 8px 10px;
  border: 1px solid #cfe2d4;
  border-radius: 6px;
  background: #f4fbf6;
}
.modal-body .dictionary-learn-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
  color: var(--text);
  font-size: 12.5px;
  cursor: pointer;
}
.modal-body .dictionary-learn-check input[type="checkbox"] {
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
  accent-color: #23864b;
}
.dictionary-learn-hint {
  margin-top: 5px;
  color: var(--text-muted);
  font-size: 11.5px;
  line-height: 1.45;
}


/* v0.7.9：伙力浏览器扩展连接状态，仅增加轻量状态显示，不改变现有业务布局。 */
.huoli-status-cell { min-width: 92px; line-height: 1.35; }
.huoli-order-id { color: #4d6577; font-size: 11px; margin-top: 2px; word-break: break-all; }
.huoli-error { color: #c0392b; font-size: 11px; margin-top: 2px; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.huoli-retry-btn {
  display: inline-block;
  padding: 2px 9px;
  border: 1px solid var(--brand-light);
  border-radius: 4px;
  background: #fff;
  color: var(--brand-light);
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 600;
}
.huoli-retry-btn:hover { background: #eef6fc; }
.huoli-retry-btn:disabled { cursor: wait; opacity: .65; }
.huoli-reconcile-controls { display: inline-flex; gap: 4px; flex-wrap: wrap; vertical-align: middle; }
.huoli-reconcile-btn {
  padding: 2px 7px;
  border: 1px solid #9fb2c1;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  font-size: 11px;
  white-space: nowrap;
}
.huoli-reconcile-btn.success { color: #237a42; border-color: #78b88d; }
.huoli-reconcile-btn.failed { color: #b24b3a; border-color: #d7a095; }
.huoli-reconcile-btn:hover { background: #f5f9fc; }
.huoli-reconcile-btn:disabled { cursor: wait; opacity: .65; }


/* v0.8.0：TOT往返订单。主表仍然只有一行，编号后用轻量徽标提示。 */
.round-trip-badge {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 6px;
  border-radius: 9px;
  background: #fff0d7;
  color: #9a5b00;
  font-size: 10.5px;
  font-weight: 600;
  white-space: nowrap;
}

.round-trip-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin: 6px 0 10px;
  padding: 9px 10px;
  background: #f7f9fc;
  border: 1px solid var(--border);
  border-radius: 6px;
}
.round-trip-toggle,
.return-time-field,
.return-day-choice label {
  display: inline-flex;
  flex-direction: row !important;
  align-items: center;
  gap: 6px;
  color: var(--text) !important;
  font-size: 12.5px !important;
}
.round-trip-toggle input,
.return-day-choice input {
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
}
.return-time-field input[type="time"] {
  width: 112px;
  padding: 5px 7px;
}
.return-day-choice {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--text-muted);
  font-size: 12px;
}
.round-trip-lock-hint {
  color: #9a5b00;
  font-size: 11.5px;
}

/* 伙力状态按去程/返程分别显示，整体状态仍放在最上方。 */
.huoli-summary { font-weight: 600; margin-bottom: 4px; }
.huoli-journey-row {
  padding: 3px 0;
  border-top: 1px dashed #dbe2e8;
  font-size: 11.5px;
}
.huoli-leg-label {
  display: inline-block;
  min-width: 30px;
  margin-right: 4px;
  font-weight: 600;
  color: var(--brand);
}
.huoli-verified { color: #6f7f8c; font-size: 10.5px; margin-top: 2px; }

/* v1.1.1：英文导航保持 150px 侧栏宽度，长名称只在单词边界自动换行。 */
html[lang="en"] .nav-item {
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  line-height: 1.35;
}

/* v1.1.1：TOT 首页使用视窗内独立滚动；页眉和左侧栏保持不动，只滚动右侧业务内容。 */
body.tot-page {
  height: 100vh;
  overflow: hidden;
}
.tot-page .site-header {
  height: 74px;
}
.tot-page .app-shell {
  height: calc(100vh - 74px);
  min-height: 0;
}
.tot-page .sidebar {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}
.tot-page .main {
  min-width: 0;
  height: 100%;
  overflow: auto;
}



/* Hide TOT content until the authenticated permission is known, preventing dashboard users from flashing the full workflow UI. */
.tot-page.tot-auth-pending .main{visibility:hidden}

/* v1.1.2: TOT dashboard-only permission view. */
.tot-board-panel[hidden]{display:none!important}
body.tot-board-mode .main>.panel:not(.tot-board-panel){display:none!important}
body.tot-board-mode .main{padding-bottom:24px}
.board-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.board-panel-heading h2{margin-bottom:8px}
.board-legend{display:flex;align-items:center;gap:18px;font-size:11.5px;color:var(--text-muted)}
.board-legend span{display:inline-flex;align-items:center;gap:6px}
.board-swatch{display:inline-block;width:18px;height:10px;border-radius:3px;border:1px solid transparent}
.board-swatch.board-pending{background:#fff3cd;border-color:#f2d57a}
.board-swatch.board-approved{background:#d4edda;border-color:#aad9b5}
.board-swatch.board-replied{background:#e8ddff;border-color:#c9b4f2}
.tot-board-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:#fff}
.tot-board-grid{display:grid;grid-template-columns:repeat(14,minmax(112px,1fr));min-width:1568px}
.board-day-column{min-width:0;border-right:1px solid var(--border);background:#fff}
.board-day-column:last-child{border-right:0}
.board-date{position:sticky;top:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;background:#f7f9fb;border-bottom:1px solid var(--border);font-size:11px;line-height:1.25}
.board-date strong{font-size:11.5px;color:var(--text)}.board-date span{color:var(--text-muted)}
.board-day-orders{min-height:156px;padding:6px;display:flex;flex-direction:column;gap:6px}
.board-order-card{border:1px solid;border-radius:5px;padding:6px 7px;font-size:10.5px;line-height:1.25;overflow:hidden}
.board-order-card.board-pending{background:#fff8df;border-color:#f2d57a;color:#715200}
.board-order-card.board-approved{background:#e7f6ea;border-color:#b9dfc1;color:#176631}
.board-order-card.board-replied{background:#f0eaff;border-color:#cdbcf0;color:#58409a}
.board-order-top{display:flex;justify-content:space-between;gap:5px;white-space:nowrap}.board-order-top span{font-weight:600}
.board-order-place,.board-order-passenger{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.board-empty{display:flex;align-items:center;justify-content:center;min-height:48px;color:#a6afb8}
.tot-board-detail-scroll{max-height:none}
.tot-board-detail-table{min-width:1450px}
.tot-board-detail-table th:nth-child(1){width:90px}.tot-board-detail-table th:nth-child(2){width:90px}.tot-board-detail-table th:nth-child(3){width:135px}.tot-board-detail-table th:nth-child(4){width:70px}.tot-board-detail-table th:nth-child(5){width:120px}.tot-board-detail-table th:nth-child(6){width:72px}.tot-board-detail-table th:nth-child(7),.tot-board-detail-table th:nth-child(8){width:210px}.tot-board-detail-table th:nth-child(9){width:110px}.tot-board-detail-table th:nth-child(10){width:150px}.tot-board-detail-table th:nth-child(11){width:110px}.tot-board-detail-table th:nth-child(12){width:110px}.tot-board-detail-table th:nth-child(13){width:130px}
body.tot-board-mode .status-已回复客户{background:#e8ddff;color:#58409a}


/* v1.1.8：TOT订单反馈提醒。使用蓝灰色强调，避免与待审核黄/已审核绿/已回复紫撞色。 */
.feedback-chip{
  display:inline-flex;align-items:center;gap:4px;margin-left:5px;padding:2px 6px;border-radius:10px;
  border:1px solid #b9cbd9;background:#eef4f8;color:#42637c;font-size:10.5px;font-weight:600;
  line-height:1.2;white-space:nowrap;vertical-align:middle;cursor:pointer;
}
.feedback-chip.feedback-action{background:#dceaf4;border-color:#78a2c2;color:#245a80}
.feedback-chip.feedback-muted{background:#f3f6f8;border-color:#d7e0e7;color:#667987}
.order-table tr.feedback-staff-action td{background:#e8f1f8}
.order-table tr.feedback-staff-action:hover td{background:#deebf5}
.order-table tr.feedback-staff-action td:first-child{box-shadow:inset 4px 0 0 #4f7fa4}
.tot-board-detail-table tr.feedback-board-action td{background:#e8f1f8}
.tot-board-detail-table tr.feedback-board-action:hover td{background:#deebf5}
.tot-board-detail-table tr.feedback-board-action td:first-child{box-shadow:inset 4px 0 0 #4f7fa4}
.board-order-card{cursor:pointer;position:relative}
.board-order-card.feedback-board-action{
  box-shadow:0 0 0 3px rgba(65,116,156,.30), inset 3px 0 0 #416f93;
}
.board-feedback-chip{margin:4px 0 0 0;font-size:9.5px;padding:1px 5px}

.feedback-modal{width:720px;max-width:94vw;max-height:84vh}
.feedback-modal-body{gap:12px;padding:14px 18px}
.feedback-section-title{font-size:12.5px;font-weight:700;color:#314452;margin-bottom:6px}
.feedback-order-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px;
  padding:10px 12px;background:#f7f9fb;border:1px solid #e2e8ee;border-radius:6px;
}
.feedback-order-item{min-width:0}
.feedback-order-label{display:block;color:var(--text-muted);font-size:10.5px;margin-bottom:2px}
.feedback-order-value{display:block;color:var(--text);font-size:12px;line-height:1.35;white-space:pre-wrap;word-break:break-word}
.feedback-order-item.feedback-wide{grid-column:span 2}
.feedback-active-box{border:1px solid #d5e1ea;border-left:4px solid #4f7fa4;border-radius:6px;padding:10px 12px;background:#fbfdfe}
.feedback-active-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.feedback-status-pill{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:10px;background:#e4eef5;color:#2d668c}
.feedback-text{font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text)}
.feedback-reply-box{margin-top:9px;padding-top:8px;border-top:1px dashed #d9e1e7}
.feedback-meta{margin-top:6px;color:#8996a1;font-size:10.5px;line-height:1.45}
.feedback-form-label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:12px}
.feedback-form-label textarea{min-height:82px;max-height:180px}
.feedback-wait-note{padding:8px 10px;border-radius:5px;background:#f3f6f8;color:#607482;font-size:11.5px}
.feedback-history{border-top:1px solid #e4e9ed;padding-top:9px}
.feedback-history details{border:1px solid #e1e7ec;border-radius:5px;background:#fafbfd;margin-top:6px;padding:6px 9px}
.feedback-history summary{cursor:pointer;color:#536b7c;font-size:11.5px;font-weight:600}
.feedback-history .feedback-text{font-size:11.5px;margin-top:7px}
.feedback-empty{color:var(--text-muted);font-size:12px;padding:6px 0}
@media (max-width:760px){.feedback-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-order-item.feedback-wide{grid-column:span 2}}
