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

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;
  }
}

/* ===== BAIGE_DESKTOP_LAYOUT_FIX_START ===== */
@media (min-width: 1200px) {

    /* 桌面端内容居中，避免在宽屏无限拉伸 */
    body > .container,
    body .container.dash-wrap,
    #homePage,
    #algoPage {
        width: calc(100% - 40px) !important;
        max-width: 1480px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    /* 表格只能在内容区中展开 */
    .table-responsive {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive table,
    table.table {
        width: 100% !important;
        min-width: 980px;
        table-layout: fixed;
    }

    /* 桌面端表格文字和间距 */
    table.table th,
    table.table td {
        padding: 11px 8px !important;
        font-size: 13px !important;
        text-align: center;
        vertical-align: middle !important;
        white-space: nowrap;
    }

    /* 期号和时间列稍宽 */
    table.table th:nth-child(1),
    table.table td:nth-child(1) {
        width: 12%;
    }

    table.table th:nth-child(2),
    table.table td:nth-child(2) {
        width: 18%;
    }

    /* 顶部导航也限制在合理宽度 */
    .site-header .header-row1,
    .site-header .top-nav-tabs {
        width: calc(100% - 40px);
        max-width: 1480px;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    /* 首页数据卡片避免过度拉伸 */
    .stats-grid,
    .quick-entry-grid,
    .activity-list,
    .activity-cards-grid {
        max-width: 1480px;
        margin-left: auto;
        margin-right: auto;
    }
}
/* ===== BAIGE_DESKTOP_LAYOUT_FIX_END ===== */

