/* ============================================================
   Floral Maison · 自定义增强样式（fm-custom）
   在全部原始 CSS 之后加载，用于：
   1) 全站中英文字体柔化
   2) 语言按钮缩小 + 切换动画
   3) 购物车加购按钮统一为「本月热门」圆形浅绿样式
   4) 翻页器（婚庆/家居/节日精选 + 首页热门/新品）
   5) 页脚站点链接 / 评价表单 / 物流时间线
   6) 我的评论 / 隐私协议 / 关于我们 / 后台页面精选
   ============================================================ */

/* ---------- 1. 全局字体柔化 ---------- */
#app {
  font-family: "Avenir Next", "Nunito", "Quicksand", "PingFang SC",
    "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Microsoft YaHei",
    system-ui, -apple-system, sans-serif;
  letter-spacing: 0.01em;
}
#app h1, #app h2, #app h3, #app h4,
#app .section-title, #app .list-title, #app .pill {
  letter-spacing: 0.02em;
}
#app button, #app input, #app textarea, #app select {
  font-family: inherit;
}

/* ---------- 2. 语言按钮：缩小到与 icon-btn 匹配 + 切换动画 ---------- */
.lang-pill {
  height: 30px;
  padding: 0 10px 0 8px !important;
  gap: 2px !important;
}
.lang-pill .globe {
  width: 15px !important;
  height: 15px !important;
  margin-right: 2px !important;
}
.lang-pill .lang-current {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1;
  animation: langPop 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes langPop {
  0% { opacity: 0; transform: translateY(5px) scale(0.7); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---------- 3. 购物车加购按钮统一（本月热门同款） ---------- */
button.card-cart-btn,
button.hot-cart {
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: #95d5b2 !important;
  color: #2d6a4f !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s, box-shadow 0.2s;
}
button.card-cart-btn:hover,
button.hot-cart:hover {
  background: #74c9a0 !important;
  box-shadow: 0 4px 12px #2c6e5033;
  transform: translateY(-1px);
}
button.card-cart-btn:active,
button.hot-cart:active {
  transform: scale(0.92);
  background: #5cb98d !important;
}
button.card-cart-btn svg,
button.hot-cart svg {
  width: 14px;
  height: 14px;
}

/* ---------- 4. 翻页器 ---------- */
.series-pager,
.hot-pager,
.new-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  padding-bottom: 4px;
}
.pager-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #e3ddc9;
  border-radius: 50%;
  background: #fff;
  color: #2c6e50;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
.pager-arrow:hover {
  background: #2c6e50;
  border-color: #2c6e50;
  color: #fff;
}
.pager-arrow:active {
  transform: scale(0.92);
}
.pager-arrow.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}
.pager-num {
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  border: 1px solid #e3ddc9;
  border-radius: 999px;
  background: #fff;
  color: #4a5a52;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.pager-num:hover {
  border-color: #95d5b2;
  color: #2c6e50;
}
.pager-num.active {
  background: #2c6e50;
  border-color: #2c6e50;
  color: #fff;
}
.hot-pager .dot,
.new-pager .dot,
.series-pager .dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #dbe3dd;
  cursor: pointer;
  transition: all 0.25s;
}
.hot-pager .dot.active,
.new-pager .dot.active,
.series-pager .dot.active {
  width: 16px;
  background: #2c6e50;
}

/* ---------- 4.5 后台产品列表：搜索框 + 分页条 ---------- */
.product-manage .toolbar {
  flex-wrap: wrap;
  gap: 10px;
}
.fm-search {
  flex: 1;
  min-width: 200px;
  max-width: 320px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  font-size: 13px;
  color: #333;
  background: #fff;
  outline: none;
  transition: border-color 0.2s;
}
.fm-search:focus {
  border-color: #2c6e50;
}
.fm-pagebar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 4px;
  margin-bottom: 10px;
}
.fm-pageinfo {
  font-size: 13px;
  color: #666;
}
.fm-pagejump {
  width: 68px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  font-size: 13px;
  color: #333;
  background: #fff;
  outline: none;
  text-align: center;
  transition: border-color 0.2s;
  -moz-appearance: textfield;
}
.fm-pagejump::-webkit-outer-spin-button,
.fm-pagejump::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.fm-pagejump:focus {
  border-color: #409eff;
}

/* ---------- 产品管理：批量选择 / 分页优化 ---------- */
.fm-ck { width: 16px; height: 16px; cursor: pointer; accent-color: #2c6e50; vertical-align: middle; }
.fm-pagesel { height: 32px; padding: 0 6px; border: 1px solid #dcdfe6; border-radius: 6px; font-size: 13px; color: #333; background: #fff; outline: none; }
.fm-pagesel:focus { border-color: #2c6e50; }
.fm-pagepick-wrap { position: relative; display: inline-flex; }
.fm-pagepick-btn { height: 32px; padding: 0 12px; border: 1px solid #dcdfe6; border-radius: 6px; background: #fff; font-size: 13px; color: #333; cursor: pointer; }
.fm-pagepick-btn:hover { border-color: #2c6e50; color: #2c6e50; }
.fm-pagepick-mask { position: fixed; inset: 0; z-index: 2990; background: transparent; }
.fm-pagepick { position: absolute; right: 0; top: 40px; z-index: 2991; background: #fff; border: 1px solid #e4e7ed; border-radius: 8px; box-shadow: 0 6px 24px rgba(0,0,0,.12); padding: 8px; display: grid; grid-template-columns: repeat(6, 36px); gap: 6px; max-height: 260px; overflow-y: auto; }
.fm-ppbtn { height: 30px; border: 1px solid #eee; background: #fff; border-radius: 6px; font-size: 13px; color: #333; cursor: pointer; }
.fm-ppbtn:hover { border-color: #2c6e50; color: #2c6e50; }
.fm-ppbtn.active { background: #2c6e50; border-color: #2c6e50; color: #fff; }
.fm-tb-btn { height: 32px; padding: 0 14px; border: 1px solid #d3d4d6; border-radius: 6px; background: #f4f4f5; color: #555; font-size: 13px; cursor: pointer; }
.fm-tb-btn:hover { color: #2c6e50; border-color: #2c6e50; }
.fm-tb-btn:disabled { opacity: .5; cursor: not-allowed; }
.fm-tb-btn.on { background: #eaf3ee; border-color: #2c6e50; color: #2c6e50; }
.fm-tb-btn.danger { background: #fef0f0; border-color: #fbc4c4; color: #f56c6c; }
.fm-tb-btn.danger:hover { border-color: #f56c6c; color: #f56c6c; }
.fm-tb-btn.danger:disabled { opacity: .5; }

/* ---------- 5. 页脚站点链接 ---------- */
.site-links {
  padding: 22px 16px calc(88px + env(safe-area-inset-bottom, 0px));
  background: #faf9f5;
  border-top: 1px solid #eef1ea;
}
.sl-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.sl-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.sl-name {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #2c6e50;
}
.sl-slogan {
  font-size: 11.5px;
  color: #6b7a73;
}
.sl-contact {
  margin-top: 8px;
  font-size: 11.5px;
  line-height: 1.8;
  color: #6b7a73;
}
.sl-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 18px;
  margin-top: 12px;
}
.sl-nav a {
  font-size: 12.5px;
  color: #2c6e50;
  text-decoration: none;
  transition: color 0.2s;
}
.sl-nav a:hover {
  color: #1d4f3c;
  text-decoration: underline;
}
.sl-copy {
  margin-top: 14px;
  font-size: 11px;
  color: #a8b3ad;
}

/* ---------- 6. 商品页评价表单 ---------- */
.pd-review-form {
  margin-top: 16px;
  padding: 16px 14px;
  background: #faf9f5;
  border-radius: 14px;
}
.pd-review-form h3 {
  font-size: 14.5px;
  font-weight: 700;
  color: #24312b;
}
.pd-form-body {
  margin-top: 12px;
}
.pd-star-row {
  display: flex;
  gap: 4px;
}
.pd-star {
  padding: 2px 4px;
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  color: #d5ddd7;
  cursor: pointer;
  transition: transform 0.15s, color 0.15s;
}
.pd-star.active {
  color: #e8a33d;
}
.pd-star:hover {
  transform: scale(1.15);
}
.pd-review-input {
  width: 100%;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #e3ddc9;
  border-radius: 12px;
  background: #fff;
  font-size: 13px;
  color: #24312b;
  resize: vertical;
  box-sizing: border-box;
}
.pd-review-input:focus {
  outline: none;
  border-color: #95d5b2;
}
.pd-review-error {
  margin-top: 6px;
  font-size: 12px;
  color: #e0392b;
}
.pd-review-submit {
  margin-top: 10px;
  padding: 9px 22px;
  border: none;
  border-radius: 999px;
  background: #2c6e50;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.pd-review-submit:hover {
  background: #245c43;
}
.pd-review-submit:active {
  transform: scale(0.97);
}
.pd-review-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.pd-form-login {
  margin-top: 10px;
}
.pd-review-login {
  padding: 9px 20px;
  border: 1.5px solid #dfe7e1;
  border-radius: 999px;
  background: #fff;
  color: #2c6e50;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.pd-review-login:hover {
  border-color: #95d5b2;
  background: #f2faf5;
}

/* ---------- 7. 我的订单 · 物流时间线 ---------- */
.ao-track {
  margin-top: 12px;
  padding: 12px 14px;
  background: #f7faf7;
  border-radius: 12px;
}
.ao-track-head {
  font-size: 12.5px;
  font-weight: 700;
  color: #24312b;
  margin-bottom: 8px;
}
.ao-track-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-size: 12px;
  color: #93a09a;
}
.ao-track-item.is-done {
  color: #24312b;
}
.ao-track-dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d5ddd7;
}
.ao-track-item.is-done .ao-track-dot {
  background: #2c6e50;
  box-shadow: 0 0 0 3px #2c6e5026;
}
.ao-track-text {
  flex: 1;
}
.ao-track-time {
  flex: none;
  font-size: 11px;
  color: #a8b3ad;
}
.ao-ship-no {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #dfe7e1;
  font-size: 11.5px;
  color: #6b7a73;
  word-break: break-all;
}
.ao-reviews-link {
  padding: 6px 12px;
  border: 1px solid #dfe7e1;
  border-radius: 999px;
  background: #fff;
  font-size: 12.5px;
  color: #2c6e50;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.ao-reviews-link:hover {
  border-color: #95d5b2;
  background: #f2faf5;
}

/* ---------- 8. 我的评论 ---------- */
.page.ao-page {
  padding: 0 14px 30px;
}
.ao-head {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 52px;
}
.ao-back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #1d4f3c;
  cursor: pointer;
  box-shadow: 0 2px 8px #2c6e5014;
}
.ao-head-title {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: #22332b;
}
.ao-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 40px 16px;
  border-radius: 16px;
  background: #fff;
  font-size: 13px;
  color: #93a09a;
}
.ao-state-error {
  color: #e0392b;
}
.ao-retry {
  padding: 7px 16px;
  border: 1.5px solid #dfe7e1;
  border-radius: 999px;
  background: #fff;
  font-size: 12.5px;
  color: #2c6e50;
  text-decoration: none;
  cursor: pointer;
}
.ao-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ao-list .ar-card {
  padding: 14px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 3px 14px #2c6e500f;
}
.ar-card-top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: none;
  overflow: hidden;
  border-radius: 10px;
  background: #f2f5f2;
  font-size: 20px;
}
.ar-card-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ar-product {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.ar-item-icon {
  font-size: 20px;
}
.ar-item-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ar-item-name {
  font-size: 13px;
  font-weight: 600;
  color: #24312b;
}
.ar-item-link {
  font-size: 11px;
  color: #2c6e50;
}
.ar-product:hover .ar-item-link {
  text-decoration: underline;
}
.ar-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}
.ar-stars {
  font-size: 13px;
  letter-spacing: 2px;
  color: #e8a33d;
}
.ar-date {
  font-size: 11px;
  color: #a8b3ad;
}
.ar-content {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.7;
  color: #4a5a52;
  word-break: break-word;
}
.ar-card-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.ar-del {
  padding: 6px 14px;
  border: 1px solid #f0d9d5;
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
  color: #e0392b;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.ar-del:hover {
  background: #fdf3f2;
  border-color: #e0392b;
}
.ar-del:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* ---------- 9. 隐私协议 / 关于我们 ---------- */
.legal-page {
  min-height: 60vh;
  padding: 18px 14px 40px;
  background: #faf8f3;
}
.legal-card {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px 22px 30px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 18px #2c6e5012;
}
.legal-card .legal-title {
  font-size: 22px;
  font-weight: 800;
  color: #22332b;
  text-align: center;
}
.legal-card .legal-lead {
  margin-top: 4px;
  font-size: 12px;
  color: #a8b3ad;
  text-align: center;
}
.legal-card h3 {
  margin-top: 22px;
  font-size: 15.5px;
  font-weight: 700;
  color: #2c6e50;
}
.legal-card p {
  margin-top: 8px;
  font-size: 13.5px;
  line-height: 1.9;
  color: #4a5a52;
}
.legal-card ul {
  margin-top: 8px;
  padding-left: 18px;
}
.legal-card li {
  margin-top: 5px;
  font-size: 13.5px;
  line-height: 1.8;
  color: #4a5a52;
}
.legal-card li::marker {
  color: #95d5b2;
}

/* ---------- 10. 后台 · 页面精选 ---------- */
.fm-featured {
  padding: 4px 0 10px;
}
.fm-head {
  margin-bottom: 14px;
}
.fm-card {
  margin-bottom: 16px;
  padding: 16px;
  background: #fff;
  border: 1px solid #eef1ea;
  border-radius: 12px;
}
.fm-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.fm-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #24312b;
}
.fm-card-count {
  flex: none;
  padding: 3px 10px;
  border-radius: 999px;
  background: #eaf5ee;
  font-size: 12px;
  font-weight: 600;
  color: #2c6e50;
}
.fm-sel {
  display: flex;
  flex-direction: column;
}
.fm-empty {
  padding: 18px 12px;
  text-align: center;
  font-size: 12.5px;
  color: #93a09a;
  background: #faf9f5;
  border-radius: 10px;
}
.fm-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 6px;
  border-bottom: 1px dashed #eef1ee;
}
.fm-row:last-child {
  border-bottom: none;
}
.fm-idx {
  flex: none;
  width: 22px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #a8b3ad;
}
.fm-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: none;
  overflow: hidden;
  border-radius: 8px;
  background: #f2f5f2;
  font-size: 18px;
}
.fm-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fm-ico {
  font-size: 18px;
}
.fm-name {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  color: #24312b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fm-price {
  flex: none;
  font-size: 13px;
  font-weight: 700;
  color: #2c6e50;
}
.fm-ops {
  display: flex;
  flex: none;
  gap: 4px;
}
.fm-btn {
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid #dfe7e1;
  border-radius: 6px;
  background: #fff;
  color: #4a5a52;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.fm-btn:hover {
  border-color: #95d5b2;
  color: #2c6e50;
  background: #f2faf5;
}
.fm-btn-del:hover {
  border-color: #e0392b;
  color: #e0392b;
  background: #fdf3f2;
}
.fm-actions {
  position: sticky;
  bottom: 12px;
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}

/* ---------- 11. 顶栏空间压缩（配合语言按钮缩小） ---------- */
.site-header {
  height: 48px !important;
  padding: 0 14px !important;
}
.web-main {
  padding-top: 48px !important;
}

/* ---------- 12. 商品页 SKU 选中联动 ---------- */
.pd-model {
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.pd-model:hover {
  border-color: #b9d9c6;
}
.pd-model.active {
  border-color: #2c6e50;
  background: #f2faf5;
  box-shadow: 0 2px 8px rgba(44, 110, 80, 0.12);
}
.pd-model.active .pd-model-name {
  color: #2c6e50;
  font-weight: 700;
}
.pd-model.active .pd-model-name::before {
  content: "✓ ";
  font-weight: 800;
}

/* ---------- 13. 后台包装材料分组：快速新建商品 ---------- */
.p-quick {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 10px;
  background: #f6faf7;
  border: 1px dashed #b9d9c6;
  border-radius: 8px;
  flex-wrap: wrap;
}

/* ---------- 14. 后台产品管理：一键复制 ---------- */
.fm-copybar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-basis: 100%;
  padding: 10px 12px;
  background: #fdf8ef;
  border: 1px dashed #e3c98f;
  border-radius: 8px;
  flex-wrap: wrap;
}
.fm-copy-msg {
  font-size: 12.5px;
  color: #8a6d3b;
}

/* ---------- 16. 分类按钮（首页/分类页/商品页）：边缘稍微突出 ---------- */
.cat-card[class*="data-v-"] {
  border: 1.5px solid #cfe0d2;
  box-shadow: 0 4px 14px rgba(44, 110, 80, 0.07);
}
.cat-card[class*="data-v-"]:hover {
  border-color: #2c6e50;
  box-shadow: 0 8px 20px rgba(44, 110, 80, 0.16);
}
.cat-card[class*="data-v-"].active {
  border-color: #2c6e50;
}

/* ---------- 9. 网页端宽屏：内容列（.web-shell 430px）两侧填淡黄棕背景 ----------
   居中原本由 .web-layout 的 flex + justify-content:center 完成（勿加 margin auto 干扰）；
   但 .web-layout 自带 background:#fff 且 min-height:100vh 铺满全屏，会盖住 body 背景，
   因此直接把这层背景改为淡黄棕，body 规则作兜底。html:not(.admin-mode) 排除后台。 */
html:not(.admin-mode) .web-layout {
  background-color: #f7f2e3 !important; /* 几乎看不出来的淡黄棕 */
}
html:not(.admin-mode) body.web-body {
  background-color: #f7f2e3 !important; /* 兜底 */
}

/* ---------- 17. 前台右上角用户下拉：已按用户要求整体撤除，恢复最初样式（2026-10-17）----------
   历史教训：注入的 .fm-user-menu 让每个页面出现两个退出入口，与订单页自带按钮行为不一致，
   造成"退出不了"的混乱。头像按钮已恢复为点击直达 /account/orders（最初行为），
   退出登录统一走订单页/评论页自带的 ao-logout 按钮。以下样式整块删除。 */

/* ---------- 18. 顶栏所有页面常驻后：页面自有 sticky 头下移，避开固定顶栏 ---------- */
.sc-head,
.ct-head {
  top: 48px !important;
}

/* ---------- 订单商品评价入口 ---------- */
.ao-item-review { margin-left: 10px; height: 26px; padding: 0 12px; border: 1px solid #2c6e50; border-radius: 999px; background: #fff; color: #2c6e50; font-size: 12px; cursor: pointer; }
.ao-item-review:hover { background: #2c6e50; color: #fff; }

/* ---------- 详情页描述截断 ---------- */
.pd-desc-toggle { background: none; border: none; color: #2c6e50; font-size: 13px; font-weight: 600; padding: 2px 0 0; cursor: pointer; }

/* ---------- 产品管理：分类筛选下拉 ---------- */
.fm-cat-sel { height: 32px; padding: 0 8px; border: 1px solid #dcdfe6; border-radius: 6px; font-size: 13px; color: #333; background: #fff; outline: none; max-width: 240px; }
.fm-cat-sel:focus { border-color: #2c6e50; }

/* ---------- 评价管理：随机销量 ---------- */
.fm-sa-inp { width: 110px; }

/* ---------- 评价管理：AI 批量评价面板 ---------- */
.fm-sa-panel { position: fixed; top: 90px; left: 50%; transform: translateX(-50%); width: 460px; max-height: 65vh; overflow-y: auto; z-index: 3200; background: #fff; border: 1px solid #e4e7ed; border-radius: 10px; box-shadow: 0 10px 36px rgba(0,0,0,.16); padding: 12px; }
.fm-sa-panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.fm-sa-all { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; cursor: pointer; }
.fm-sa-cnt { font-size: 12px; color: #888; }
.fm-sa-list { display: flex; flex-direction: column; gap: 4px; }
.fm-sa-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #333; padding: 4px 6px; border-radius: 6px; cursor: pointer; }
.fm-sa-item:hover { background: #f5f7f6; }
.fm-sa-item input { accent-color: #2c6e50; }
.fm-sa-go { margin-top: 10px; width: 100%; height: 34px; border: none; border-radius: 8px; background: #2c6e50; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; }
.fm-sa-go:disabled { opacity: .5; cursor: not-allowed; }

/* ---------- 订单：自动收货小字 + 取消按钮 ---------- */
.ao-auto-note { margin: 6px 12px 0; font-size: 11px; color: #b07a2a; background: #fdf6e8; border-radius: 6px; padding: 5px 8px; }
.ao-cancel-btn { height: 26px; padding: 0 10px; border: 1px solid #dcdfe6; border-radius: 999px; background: #fff; color: #909399; font-size: 12px; cursor: pointer; margin-left: 8px; }
.ao-cancel-btn:hover { border-color: #e6a23c; color: #e6a23c; }
