/* 意见反馈 FAB · 从 app.js 抽离，层叠见 ui-shell.css --z-fab / --z-feedback-overlay */
.fb-fab{
  position:fixed;right:24px;bottom:96px;z-index:var(--z-fab,10030);
  width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #E5E7EB;
  color:#61687C;font-size:20px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:all 0.2s;
}
.fb-fab:hover{border-color:var(--brand,#00BEBD);color:var(--brand,#00BEBD);box-shadow:0 4px 12px rgba(0,190,189,0.15);}
.fb-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:var(--z-feedback-overlay,10038);
  display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;
  animation:fbFadeIn 0.2s ease;
}
@keyframes fbFadeIn{from{opacity:0}to{opacity:1}}
.fb-modal{
  background:#fff;border-radius:16px;width:480px;max-width:100%;max-height:85vh;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.15);
  animation:fbSlideUp 0.3s cubic-bezier(0.4,0,0.2,1);
}
@keyframes fbSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.fb-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #EEF0F4;}
.fb-modal-head h3{margin:0;font-size:18px;font-weight:700;color:#1A1F36;}
.fb-modal-head .fb-sub{font-size:13px;color:#9FA3B0;margin-top:2px;}
.fb-close{width:32px;height:32px;border-radius:50%;border:none;background:#F5F7FA;color:#9FA3B0;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.fb-close:hover{background:#EEF0F4;color:#61687C;}
.fb-modal-body{padding:20px 24px;overflow-y:auto;flex:1;}
.fb-field{margin-bottom:20px;}
.fb-field label{display:block;font-size:13px;font-weight:600;color:#414A60;margin-bottom:8px;}
.fb-field label .req{color:#FC6C38;}
.fb-field select,.fb-field textarea,.fb-field input{
  width:100%;padding:10px 14px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;color:#1A1F36;
  outline:none;transition:border-color 0.2s;box-sizing:border-box;font-family:inherit;
}
.fb-field textarea{resize:vertical;min-height:100px;line-height:1.5;padding:12px 14px;}
.fb-field select{cursor:pointer;background:#fff;}
.fb-field select:focus,.fb-field textarea:focus,.fb-field input:focus{border-color:var(--brand,#00BEBD);}
.fb-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.fb-type-btn{padding:10px 12px;border:1px solid #E5E7EB;border-radius:10px;font-size:13px;color:#61687C;background:#fff;cursor:pointer;text-align:center;transition:all 0.2s;}
.fb-type-btn:hover{border-color:var(--brand,#00BEBD);color:var(--brand,#00BEBD);}
.fb-type-btn.active{border-color:var(--brand,#00BEBD);background:var(--brand-soft,#E0F7F5);color:#00A6A7;font-weight:600;}
.fb-modal-foot{display:flex;gap:12px;padding:16px 24px 20px;border-top:1px solid #EEF0F4;}
.fb-btn{flex:1;padding:12px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;}
.fb-btn-cancel{background:#F5F7FA;color:#61687C;}
.fb-btn-cancel:hover{background:#EEF0F4;}
.fb-btn-submit{background:var(--brand,#00BEBD);color:#fff;}
.fb-btn-submit:hover{background:#00A6A7;}
.fb-btn-submit:disabled{opacity:0.6;cursor:not-allowed;}
