/* 权益交付中心 —— 红金主题；类名统一 bf- 前缀，避免污染其它屏。 */

/* 首页入口卡（金） */
.fcard.gold {
  background: linear-gradient(135deg, #8a1f1f, #b7402a 60%, #c98a2f);
  box-shadow: 0 10px 22px -8px rgba(138, 31, 31, .55);
}

/* 滚动面板 */
.bf-pane {
  flex: 1; overflow-y: auto; min-height: 0;
  padding: 12px 14px 18px; background: #f8f0ea; scrollbar-width: none;
}
.bf-pane::-webkit-scrollbar { display: none; }
.bf-navbar .title { color: #7a1414; }

/* Hero */
.bf-hero {
  border-radius: 20px; padding: 18px; color: #fff; margin-bottom: 14px;
  background: linear-gradient(135deg, #7a1414, #a52a1e 65%, #c26a26);
  box-shadow: 0 12px 26px -12px rgba(122, 20, 20, .6);
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.bf-hero-title { font-size: 17px; font-weight: 800; letter-spacing: .3px; }
.bf-hero-sub { font-size: 11.5px; opacity: .85; margin-top: 5px; line-height: 1.5; }
.bf-hero-badge {
  display: inline-block; margin-top: 12px; font-size: 11px; font-weight: 600;
  background: rgba(255, 240, 210, .22); border: 1px solid rgba(255, 225, 170, .5);
  color: #ffe9c7; padding: 4px 12px; border-radius: 999px;
}
.bf-hero-seal { font-size: 40px; flex-shrink: 0; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .3)); }

/* 一图全览 */
.bf-overview {
  background: #fff; border-radius: 18px; padding: 14px 14px 6px;
  margin-bottom: 14px; border: 1px solid #f0e2d6;
}
.bf-ov-head { font-size: 13px; font-weight: 700; color: #7a1414; margin-bottom: 12px; }
.bf-ov-head::before { content: "▎"; color: #c26a26; margin-right: 2px; }
.bf-ov-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 6px; }
.bf-ov-cell {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 6px 2px 12px; cursor: pointer; border-radius: 12px;
  transition: background .2s; position: relative;
}
.bf-ov-cell:hover { background: #fbf3ec; }
.bf-ov-icon {
  width: 42px; height: 42px; border-radius: 12px; display: flex;
  align-items: center; justify-content: center; font-size: 20px; color: #a52a1e;
  background: linear-gradient(135deg, #fdeee2, #f8ddca);
}
.bf-ov-no { position: absolute; top: 4px; right: 12px; font-size: 9px; color: #c99a6a; font-weight: 700; }
.bf-ov-title { font-size: 12px; color: #4a3b32; font-weight: 600; }

/* 模块卡 */
.bf-mod {
  background: #fff; border-radius: 18px; padding: 14px; margin-bottom: 14px;
  border: 1px solid #f0e2d6; scroll-margin-top: 8px;
}
.bf-mod-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.bf-mod-icon {
  width: 38px; height: 38px; border-radius: 11px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: #fff; background: linear-gradient(135deg, #a52a1e, #c26a26);
}
.bf-mod-headtxt { flex: 1; min-width: 0; }
.bf-mod-no { font-size: 14px; font-weight: 800; color: #7a1414; }
.bf-mod-sub { font-size: 11px; color: #9b8a7d; margin-top: 2px; line-height: 1.4; }
.bf-mod-tag {
  font-size: 10px; font-weight: 600; color: #2f8a4b; background: #e9f7ee;
  padding: 3px 9px; border-radius: 999px; flex-shrink: 0;
}
.bf-mod-body { margin-top: 10px; }

/* 分组小标题 */
.bf-group-head {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; font-weight: 700; color: #a06a3a; margin: 12px 2px 6px;
}
.bf-group-head small { font-size: 10px; color: #bcaa9a; font-weight: 500; }

/* 条目行 */
.bf-item {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 12px; border-radius: 12px; background: #fbf5ef; margin-bottom: 8px;
  cursor: pointer; transition: background .18s, transform .18s; border: 1px solid #f3e7db;
}
.bf-item:hover { background: #f7ebe0; transform: translateX(2px); }
.bf-item-main { min-width: 0; flex: 1; }
.bf-item-title { font-size: 13.5px; font-weight: 600; color: #3d2f27; }
.bf-item-desc { font-size: 11px; color: #9b8a7d; margin-top: 3px; line-height: 1.4; }
.bf-item-tail { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bf-badge {
  font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 6px;
  background: #f0e2d6; color: #a06a3a;
}
.bf-b-video { background: #fde8e6; color: #c0392b; }
.bf-b-pdf { background: #fdeede; color: #c07a24; }
.bf-b-cert { background: #fbecd0; color: #a97613; }
.bf-b-note { background: #e9f0fb; color: #3a5ca8; }
.bf-arrow { color: #cbb6a5; font-size: 18px; }
.bf-status { font-size: 11px; color: #a97613; font-weight: 600; }
.bf-pending {
  font-size: 10px; color: #b08968; border: 1px dashed #d8c3ad;
  padding: 2px 8px; border-radius: 999px;
}

/* 学霸笔记选择器 */
.bf-note-picker { display: none; padding: 6px 4px 10px; }
.bf-note-picker.open { display: block; }
.bf-note-tabs { display: flex; gap: 8px; margin-bottom: 10px; }
.bf-note-tab {
  border: none; background: #f3e7db; color: #7a5c47; font-size: 12px;
  font-weight: 600; padding: 6px 16px; border-radius: 999px; cursor: pointer;
}
.bf-note-tab.active { background: linear-gradient(135deg, #a52a1e, #c26a26); color: #fff; }
.bf-note-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bf-note-cell {
  border: 1px solid #f0dcc9; background: #fff; color: #5a4638;
  font-size: 12px; padding: 12px 4px; border-radius: 10px; cursor: pointer; font-weight: 600;
}
.bf-note-cell:hover { background: #fbf3ec; border-color: #e0b892; }
.bf-note-meta { grid-column: 1 / -1; font-size: 10px; color: #b0a091; text-align: center; margin-top: 2px; }
.bf-note-empty { font-size: 12px; color: #b0a091; padding: 8px; }

/* 班主任 */
.bf-contact {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: linear-gradient(135deg, #5a1414, #7a2018); border-radius: 16px;
  padding: 16px; color: #fff; margin-bottom: 12px;
}
.bf-contact-title { font-size: 14px; font-weight: 700; }
.bf-contact-sub { font-size: 11px; opacity: .82; margin-top: 4px; }
.bf-contact-btn {
  flex-shrink: 0; border: none; background: #f2d38c; color: #6a3410;
  font-weight: 700; font-size: 12px; padding: 10px 16px; border-radius: 999px; cursor: pointer;
  /* B3-3（0821 版式扫描）：实测触控高 37px，小于 44px 拇指最小触控区 */
  min-height: var(--tap, 44px); display: inline-flex; align-items: center; justify-content: center;
}
.bf-contact-btn:hover { background: #f6dfa4; }

.bf-footnote { font-size: 10px; color: #b7a695; text-align: center; padding: 4px 12px; line-height: 1.5; }
.bf-footnote code { background: #f0e6db; padding: 1px 5px; border-radius: 4px; color: #8a6a4a; }

/* toast */
.bf-toast {
  position: absolute; left: 50%; bottom: 78px; transform: translateX(-50%) translateY(8px);
  background: rgba(40, 20, 14, .92); color: #fff; font-size: 12px; padding: 9px 16px;
  border-radius: 999px; opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s; z-index: 60; max-width: 80%; text-align: center;
}
.bf-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
