/* 意见反馈组件（无记名，经企微群 webhook 发送） */
.feedback-btn {
  position: fixed; right: 24px; bottom: 24px; z-index: 999;
  background: #1a3c6e; color: #fff; border: none; cursor: pointer;
  padding: 10px 20px; border-radius: 22px; font-size: 14px;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  box-shadow: 0 4px 12px rgba(26,60,110,.35);
}
.feedback-btn:hover { background: #2c5590; }
.feedback-mask {
  display: none; position: fixed; inset: 0; z-index: 1000;
  background: rgba(20,35,55,.45);
}
.feedback-mask.open { display: flex; align-items: center; justify-content: center; }
.feedback-dialog {
  background: #fff; border-radius: 12px; width: 90%; max-width: 480px;
  padding: 24px 28px; box-shadow: 0 12px 40px rgba(0,0,0,.25);
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
}
.feedback-dialog h3 {
  font-size: 18px; color: #1a3c6e; margin: 0 0 4px 0;
}
.feedback-dialog .sub { font-size: 12px; color: #98a4b0; margin-bottom: 14px; }
.feedback-dialog textarea {
  width: 100%; min-height: 120px; resize: vertical;
  border: 1px solid #d4dce5; border-radius: 8px; padding: 10px 12px;
  font-size: 14px; line-height: 1.7; box-sizing: border-box;
  font-family: inherit; outline: none;
}
.feedback-dialog textarea:focus { border-color: #4a90d9; }
.feedback-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.feedback-actions button {
  border: none; border-radius: 20px; padding: 8px 22px; font-size: 14px; cursor: pointer;
  font-family: inherit;
}
.fb-cancel { background: #eef2f6; color: #5a6b7d; }
.fb-cancel:hover { background: #e0e7ee; }
.fb-send { background: #1a3c6e; color: #fff; }
.fb-send:hover { background: #2c5590; }
.fb-send:disabled { background: #9db3cc; cursor: not-allowed; }
.fb-tip { font-size: 12px; margin-top: 10px; min-height: 16px; }
.fb-tip.ok { color: #27ae60; }
.fb-tip.err { color: #e74c3c; }
