/* 白鸽全站响应式兜底：移动端弹窗、表格、导航、按钮、横向溢出 */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* 所有弹窗外层允许滚动，解决手机弹窗看不完整 */
.modal-backdrop-custom,
.modal-backdrop,
.announcement-modal,
#loginModal,
#signinCalendarModal,
#forgotPasswordModal,
#redeemModal,
#announcementModal,
#rewardRulesModal {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* 移动端弹窗统一居中且可滚动 */
@media (max-width: 768px) {
  .modal-backdrop-custom,
  .modal-backdrop,
  .announcement-modal,
  #loginModal,
  #signinCalendarModal,
  #forgotPasswordModal,
  #redeemModal,
  #announcementModal,
  #rewardRulesModal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  /* 签到日历弹窗重点修复 */
  .signin-calendar-box,
  #signinCalendarModal .signin-calendar-box,
  #signinCalendarModal .modal-content,
  #signinCalendarModal .modal-dialog {
    width: min(94vw, 420px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 28px) !important;
    margin: 8px auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .signin-calendar-box {
    padding-bottom: 14px !important;
  }

  .signin-calendar-box .signin-header,
  .signin-calendar-box .calendar-header,
  .signin-calendar-box .signin-calendar-header {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
  }

  .signin-calendar-box h3,
  .signin-calendar-box h4,
  .signin-calendar-box .modal-title {
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .signin-calendar-box .calendar-grid,
  .signin-calendar-box .signin-calendar-grid,
  .signin-calendar-box .calendar-days {
    gap: 4px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
  }

  .signin-calendar-box .calendar-day,
  .signin-calendar-box .signin-day,
  .signin-calendar-box .day-item {
    min-height: 32px !important;
    height: 32px !important;
    font-size: 11px !important;
    border-radius: 9px !important;
  }

  .signin-calendar-box .calendar-week,
  .signin-calendar-box .week-day {
    font-size: 11px !important;
    height: 24px !important;
    line-height: 24px !important;
  }

  /* 登录/兑换/公告等弹窗统一不超屏 */
  .login-box,
  .login-card,
  .redeem-box,
  .announcement-box,
  .reward-rules-box,
  .modal-content,
  .modal-dialog {
    width: min(94vw, 460px) !important;
    max-width: 94vw !important;
    max-height: calc(100dvh - 28px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin: 8px auto !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* 首页和大厅卡片防止横向撑破 */
  .container,
  .dash-wrap,
  .hall-wrap,
  .dash-card,
  .dash-panel,
  .algo-card,
  .stats-card,
  .table-wrap {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 表格在手机里横向滚动，不撑爆页面 */
  table,
  .table,
  .hall-table {
    max-width: 100% !important;
  }

  .table-wrap,
  .hall-table-wrap,
  .history-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* 顶部导航移动端兜底 */
  .top-nav-tabs {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .top-nav-tabs::-webkit-scrollbar {
    display: none !important;
  }

  .top-nav-tabs .nav-tab,
  .nav-tab {
    min-width: 56px !important;
    white-space: nowrap !important;
  }

  /* 公告滚动速度和遮挡兜底 */
  .notice-content {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .notice-scroll {
    animation-duration: 45s !important;
  }

  .notice-text {
    white-space: nowrap !important;
    padding-right: 60px !important;
  }

  /* 手机端按钮不要空白 */
  #hallDrawRefreshBtn,
  #hallDrawSettingsBtn,
  #hallDrawPeekBtn {
    color: #2563eb !important;
  }
}

/* 超小屏继续压缩 */
@media (max-width: 430px) {
  .signin-calendar-box,
  #signinCalendarModal .signin-calendar-box {
    width: 92vw !important;
    max-height: calc(100dvh - 24px) !important;
  }

  .signin-calendar-box .calendar-day,
  .signin-calendar-box .signin-day,
  .signin-calendar-box .day-item {
    min-height: 30px !important;
    height: 30px !important;
    font-size: 10px !important;
  }

  .signin-calendar-box .calendar-grid,
  .signin-calendar-box .signin-calendar-grid,
  .signin-calendar-box .calendar-days {
    gap: 3px !important;
    padding: 6px !important;
  }

  .signin-calendar-box h3,
  .signin-calendar-box h4,
  .signin-calendar-box .modal-title {
    font-size: 15px !important;
  }
}

/* 电脑端弹窗保持美观，不要太宽 */
@media (min-width: 769px) {
  .signin-calendar-box,
  #signinCalendarModal .signin-calendar-box {
    max-width: 460px !important;
    max-height: 86vh !important;
    overflow-y: auto !important;
  }

  .announcement-box,
  .login-box,
  .login-card,
  .redeem-box,
  .reward-rules-box {
    max-height: 86vh !important;
    overflow-y: auto !important;
  }
}
