/* ============================================================
 * rectify_fx5.css —— 签到抵扣 + 任务中心（.fx5-* 前缀）
 * 浅蓝白门户基调，零深色；与 v10 主题同源（#38BDF8 / #1d2129）
 * ============================================================ */

/* ---------- index.html 顶部每日提醒条 ---------- */
.fx5-remind{
  position:relative;z-index:45;
  background:linear-gradient(90deg,#f7f9fc,#D9E8FA);
  border-bottom:1px solid rgba(56,189,248,.22);
  padding:9px 16px;display:flex;align-items:center;gap:12px;
  font-size:13px;color:#3E5A80;
}
.fx5-remind .fx5-remind-txt{flex:1;min-width:0;line-height:1.5}
.fx5-remind b{color:#1d2129}
.fx5-remind .fx5-remind-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(90deg,#38BDF8,#38BDF8);color:#fff;
  border:0;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;
  cursor:pointer;text-decoration:none;white-space:nowrap;transition:filter .18s;
}
.fx5-remind .fx5-remind-cta:hover{filter:brightness(1.07)}
.fx5-remind .fx5-remind-x{
  background:none;border:0;cursor:pointer;color:#909399;font-size:16px;line-height:1;padding:4px 6px;
}
.fx5-remind .fx5-remind-x:hover{color:#1d2129}

/* ---------- index.html 签到入口卡 ---------- */
.fx5-enter{max-width:1160px;margin:26px auto 0;padding:0 20px}
.fx5-enter-card{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg,#38BDF8,#38BDF8 60%,#9DBDE6);
  border-radius:16px;padding:22px 24px;color:#fff;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  box-shadow:0 12px 30px rgba(29,33,41,.22);
}
.fx5-enter-card .fx5-enter-ic{font-size:34px;line-height:1}
.fx5-enter-card .fx5-enter-main{flex:1;min-width:220px}
.fx5-enter-card .fx5-enter-t{font-size:20px;font-weight:700;letter-spacing:.5px}
.fx5-enter-card .fx5-enter-d{font-size:13px;opacity:.92;margin-top:6px;line-height:1.7}
.fx5-enter-card .fx5-enter-d span{display:inline-block;background:rgba(255,255,255,.18);border-radius:999px;padding:2px 10px;margin:2px 6px 2px 0}
.fx5-enter-card .fx5-enter-act{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.fx5-enter-card .fx5-enter-btn{
  background:#fff;color:#1d2129;border:0;border-radius:999px;
  padding:9px 22px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;transition:filter .18s;
}
.fx5-enter-card .fx5-enter-btn:hover{filter:brightness(.96)}
.fx5-enter-card .fx5-enter-link{
  background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:999px;
  padding:7px 18px;font-size:13px;cursor:pointer;text-decoration:none;text-align:center;
}
.fx5-enter-card .fx5-enter-bal{font-size:12px;opacity:.92}

/* ---------- 导航「签到」链接（真实容器 #byokAppNav .h-nav 侧栏 / .h-mtab 移动tab） ---------- */
#byokAppNav .fx5-nav-item{background:#FDF6E7;color:#8A6D2B;border:1px dashed #EBD9AE;margin-top:4px}
#byokAppNav .fx5-nav-item:hover{background:#F9EED7;color:#8A6D2B}
.h-mtab .fx5-nav-item{color:#8A6D2B}
.v10-nav-item.fx5-nav-item{color:#B8860B !important}

/* ---------- 签到页 / 任务中心 通用 ---------- */
.fx5-page-wrap{max-width:1080px;margin:0 auto;padding:26px 20px 70px}
.fx5-h1{font-size:24px;font-weight:800;margin-bottom:6px;color:#1d2129}
.fx5-sub{color:#606266;font-size:14px;margin-bottom:20px;line-height:1.7}
.fx5-row{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:16px}
@media(max-width:860px){.fx5-row{grid-template-columns:1fr}}
.fx5-card{
  background:#fff;border:1px solid rgba(56,189,248,.18);border-radius:16px;
  padding:18px;box-shadow:0 6px 22px rgba(29,33,41,.08);
}
.fx5-card-t{font-size:16px;font-weight:700;margin-bottom:10px;color:#1d2129;display:flex;align-items:center;gap:8px}

/* 余额卡 */
.fx5-bal-num{font-size:30px;font-weight:800;color:#1d2129;line-height:1.1}
.fx5-bal-num small{font-size:14px;font-weight:600;color:#606266;margin-right:2px}
.fx5-bal-exp{font-size:12px;color:#606266;margin-top:6px;line-height:1.6}
.fx5-bal-exp b{color:#B8860B;font-weight:600}

/* 到期提醒条 */
.fx5-expire{
  background:#FDF6E7;border:1px solid #EBD9AE;border-radius:12px;
  padding:10px 14px;font-size:13px;color:#8A6D2B;margin-bottom:16px;line-height:1.6;
}
.fx5-expire b{color:#B8860B}

/* 今日打卡卡 */
.fx5-today-streak{
  display:inline-flex;align-items:center;gap:6px;
  background:#f7f9fc;color:#1d2129;border-radius:999px;padding:4px 12px;
  font-size:13px;font-weight:600;margin-bottom:10px;
}
.fx5-today-get{font-size:14px;color:#1d2129;line-height:1.7;margin-bottom:12px}
.fx5-today-get b{color:#1d2129;font-size:16px}
.fx5-checkin-btn{
  width:100%;border:0;border-radius:12px;padding:13px;font-size:16px;font-weight:700;cursor:pointer;
  background:linear-gradient(90deg,#38BDF8,#38BDF8);color:#fff;transition:filter .18s,opacity .18s;
}
.fx5-checkin-btn:hover{filter:brightness(1.06)}
.fx5-checkin-btn:disabled{background:#C9D9EE;cursor:not-allowed;filter:none}
.fx5-double-badge{
  display:inline-block;margin-top:10px;font-size:12px;color:#B8860B;
  background:#FDF6E7;border:1px dashed #EBD9AE;border-radius:999px;padding:3px 10px;
}
.fx5-double-badge.off{color:#909399;background:#F2F6FB;border-color:#dcdfe6}

/* 日历 */
.fx5-cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.fx5-cal-head span{text-align:center;font-size:12px;color:#909399;padding:4px 0}
.fx5-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.fx5-cell{
  aspect-ratio:1/1;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:13px;color:#606266;background:#F6FAFE;border:1px solid #EAF1F9;position:relative;
}
.fx5-cell.future{background:#FBFDFE;color:#B9C8DC;border-style:dashed}
.fx5-cell.done{background:linear-gradient(135deg,#38BDF8,#38BDF8);color:#fff;border:0;font-weight:700}
.fx5-cell.today{border:2px solid #38BDF8;background:#f7f9fc;color:#1d2129;font-weight:800}
.fx5-cell.miss{background:#F4F7FB;color:#C3CFE0}
.fx5-cell .fx5-cell-tag{font-size:12px;margin-top:2px;opacity:.9}
.fx5-cell.today .fx5-cell-tag{font-size:12px;color:#38BDF8;font-weight:600}
.fx5-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.fx5-month-nav b{font-size:16px;color:#1d2129}
.fx5-month-nav button{background:#e6f4ff;border:0;border-radius:8px;width:28px;height:28px;cursor:pointer;color:#1d2129}
.fx5-legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:#909399;flex-wrap:wrap}
.fx5-legend i{display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:4px;vertical-align:-1px}

/* 规则区 */
.fx5-rules{margin-top:16px}
.fx5-rules ul{list-style:none;padding:0;margin:0}
.fx5-rules li{font-size:13px;color:#3E5A80;line-height:1.9;padding-left:18px;position:relative}
.fx5-rules li::before{content:'·';position:absolute;left:6px;color:#38BDF8;font-weight:800}

/* 两套规则卡片 */
.fx5-dual{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:760px){.fx5-dual{grid-template-columns:1fr}}
.fx5-dual .fx5-card{border-top:3px solid #38BDF8}
.fx5-dual .fx5-card.other{border-top-color:#B8860B}
.fx5-dual h4{font-size:14px;margin-bottom:8px;color:#1d2129}
.fx5-dual p{font-size:13px;color:#606266;line-height:1.8}

/* 互链 */
.fx5-cross{margin-top:18px;text-align:center;font-size:14px}
.fx5-cross a{color:#1d2129;text-decoration:none;font-weight:600}
.fx5-cross a:hover{text-decoration:underline}

/* ---------- 任务中心 ---------- */
.fx5-task{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #EAF1F9;border-radius:12px;background:#ffffff;margin-bottom:10px;flex-wrap:wrap}
.fx5-task .fx5-task-ic{font-size:24px;flex-shrink:0}
.fx5-task .fx5-task-main{flex:1;min-width:200px}
.fx5-task .fx5-task-t{font-size:14px;font-weight:700;color:#1d2129}
.fx5-task .fx5-task-d{font-size:12px;color:#606266;line-height:1.6;margin-top:3px}
.fx5-task .fx5-task-prog{height:6px;border-radius:999px;background:#EAF1F9;margin-top:8px;overflow:hidden}
.fx5-task .fx5-task-prog i{display:block;height:100%;background:linear-gradient(90deg,#38BDF8,#38BDF8);border-radius:999px}
.fx5-task .fx5-task-pct{font-size:12px;color:#909399;margin-top:4px}
.fx5-task .fx5-task-act{flex-shrink:0}
.fx5-claim{
  border:0;border-radius:12px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;
  background:linear-gradient(90deg,#38BDF8,#38BDF8);color:#fff;transition:filter .18s;
}
.fx5-claim:hover{filter:brightness(1.06)}
.fx5-claim:disabled{background:#DDE7F3;color:#909399;cursor:not-allowed;filter:none}
.fx5-claim.go{background:#e6f4ff;color:#1d2129}
.fx5-claim.done{background:#E8F4EC;color:#4C8A5E}

/* ---------- 小惊喜弹窗 ---------- */
.fx5-mask{position:fixed;inset:0;background:rgba(30,42,58,.38);z-index:95;display:flex;align-items:center;justify-content:center}
.fx5-surprise{
  background:#fff;border-radius:20px;width:min(380px,92vw);padding:28px 24px;text-align:center;
  box-shadow:0 20px 60px rgba(29,33,41,.25);position:relative;
}
.fx5-surprise .fx5-sp-env{
  width:110px;height:110px;margin:0 auto 14px;border-radius:50%;
  background:linear-gradient(135deg,#f7f9fc,#C9DDF7);
  display:flex;align-items:center;justify-content:center;font-size:52px;
  border:2px dashed #38BDF8;
}
.fx5-surprise h3{font-size:20px;color:#1d2129;margin-bottom:6px}
.fx5-surprise .fx5-sp-amt{font-size:34px;font-weight:800;color:#1d2129;margin:8px 0}
.fx5-surprise .fx5-sp-note{font-size:12px;color:#909399;line-height:1.7;margin:8px 0 14px}
.fx5-surprise .fx5-sp-btn{
  width:100%;border:0;border-radius:12px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;
  background:linear-gradient(90deg,#38BDF8,#38BDF8);color:#fff;
}
.fx5-surprise .fx5-sp-double{display:inline-block;font-size:12px;color:#B8860B;background:#FDF6E7;border:1px dashed #EBD9AE;border-radius:999px;padding:3px 10px;margin-bottom:6px}

/* toast */
.fx5-toast{
  position:fixed;left:50%;bottom:40px;transform:translateX(-50%);
  background:#f7f9fc;color:#1d2129;border:1px solid rgba(56,189,248,.35);
  border-radius:999px;padding:10px 22px;font-size:13px;z-index:120;font-weight:600;
  box-shadow:0 10px 30px rgba(29,33,41,.18);opacity:0;transition:opacity .25s;pointer-events:none;
}
.fx5-toast.show{opacity:.95}

/* 空态 */
.fx5-empty{text-align:center;padding:40px 20px;color:#606266;font-size:14px;line-height:1.9}
.fx5-empty a{color:#1d2129;font-weight:600;text-decoration:none}
