/*
 * 居所共享移动端表格规则
 * 表格保持真实行列结构，仅表格容器横向滚动；页面本身不横向移动。
 */

/*
 * archive-theme 会给全站表头叠加半透明色。表头在纵向滚动时是 sticky，
 * 因此这里使用实体底色，避免表头与下方单元格文字透叠。桌面端和移动端共用。
 */
.advisor-schedule th,
.advisor-profile-table th {
    background: #edf6f4 !important;
    background-clip: padding-box;
    box-shadow: 0 1px 0 #dfeae7;
}

@media (max-width: 780px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .main-area,
    .content-panels,
    .panel,
    .panel.active {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .advisor-planting-mode {
        grid-template-columns: 1fr;
    }

    .advisor-goal-config {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .advisor-goal-presets {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    /* 统一的表格滑动提示。 */
    .advisor-schedule__scroll,
    .advisor-profile-table-wrap,
    .advisor-fill-table-scroll,
    .mobile-table-scroll {
        position: relative;
        width: 100%;
        max-width: 100%;
        overflow-x: auto !important;
        overflow-y: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #72b7aa #e8f2f0;
    }

    .advisor-schedule__scroll::before,
    .advisor-profile-table-wrap::before,
    .advisor-fill-table-scroll::before,
    .mobile-table-scroll::before,
    .hall-table::before,
    .strategy-table--compact::before {
        position: sticky;
        left: 0;
        z-index: 5;
        display: block;
        width: max-content;
        max-width: calc(100vw - 52px);
        margin: 0 0 8px;
        padding: 6px 10px;
        border: 1px solid rgba(71, 145, 132, .2);
        border-radius: 999px;
        color: #376f65;
        background: #e9f5f2;
        box-shadow: 0 4px 12px rgba(48, 103, 92, .08);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: .02em;
        white-space: normal;
        pointer-events: none;
    }

    .advisor-schedule__scroll::before,
    .hall-table::before,
    .strategy-table--compact::before {
        content: '\2190  左右滑动查看完整表格  \2192';
    }

    .advisor-profile-table-wrap::before {
        content: '\2190  左右滑动查看 / 填写完整表格  \2192';
    }

    .advisor-fill-table-scroll::before {
        content: '\2190  左右滑动查看 / 填写完整表格  \2192';
    }

    .mobile-table-scroll::before {
        content: '\2190  左右滑动查看完整表格  \2192';
    }

    /* 两块输入区保持完整列结构，只让填写表自身横向滑动。 */
    .advisor-fill-table-scroll {
        padding: 8px 0 3px;
    }

    .advisor-fill-table-scroll--week .advisor-dayrow,
    .advisor-fill-table-scroll--week .advisor-dayrow--head {
        display: grid !important;
        grid-template-columns: 56px 180px minmax(330px, 1fr) 120px 190px !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 920px !important;
        padding: 8px 4px !important;
        border-bottom: 1px solid #e2ecea;
    }

    .advisor-fill-table-scroll--week .advisor-dayrow--head {
        color: #789097;
        font-size: 10px;
        font-weight: 800;
    }

    .advisor-fill-table-scroll--week .advisor-dayrow > .advisor-daytime,
    .advisor-fill-table-scroll--week .advisor-dayrow > .advisor-operation-slots,
    .advisor-fill-table-scroll--week .advisor-dayrow > select,
    .advisor-fill-table-scroll--week .advisor-dayrow > .advisor-daynote {
        grid-column: auto !important;
        width: 100% !important;
    }

    .advisor-fill-table-scroll--week .advisor-dayrow-name {
        display: block !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        font-size: 12px !important;
    }

    .advisor-fill-table-scroll--week .advisor-operation-slot {
        display: grid !important;
        grid-template-columns: 52px repeat(4, max-content) !important;
        gap: 7px !important;
        min-height: 38px;
        padding: 6px 9px !important;
    }

    .advisor-fill-table-scroll--week .advisor-operation-slot > strong {
        grid-row: auto !important;
    }

    .advisor-fill-table-scroll--custom .advisor-custom-plan-head,
    .advisor-fill-table-scroll--custom .advisor-custom-plan-row {
        display: grid !important;
        grid-template-columns: 145px 112px minmax(240px, 1fr) 92px 40px !important;
        align-items: center;
        gap: 7px;
        width: 100% !important;
        min-width: 680px !important;
    }

    .advisor-fill-table-scroll--custom .advisor-custom-plan-head {
        padding: 0 4px 7px;
        color: #789097;
        font-size: 10px;
        font-weight: 800;
    }

    .advisor-fill-table-scroll--custom .advisor-custom-plan-row {
        padding: 7px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e2ecea !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .advisor-fill-table-scroll--custom .advisor-custom-plan-row [data-custom-crop],
    .advisor-fill-table-scroll--custom .advisor-custom-plan-row [data-custom-plots],
    .advisor-fill-table-scroll--custom .advisor-custom-plan-row button {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    /* 恢复智能居所计划表的真实 table 布局。 */
    .advisor-dplans .advisor-schedule__scroll,
    .advisor-schedule .advisor-schedule__scroll,
    .advisor-daily-ledger .advisor-schedule__scroll {
        margin: 10px 12px 0;
        overflow-x: auto !important;
    }

    .advisor-schedule__scroll > table,
    .advisor-dplan-table,
    .advisor-schedule .advisor-schedule__scroll > table,
    .advisor-daily-ledger .advisor-schedule__scroll > table {
        display: table !important;
        width: 100% !important;
        min-width: 760px !important;
        border-collapse: collapse;
        table-layout: auto;
    }

    .advisor-schedule .advisor-schedule__scroll > table {
        min-width: 1280px !important;
    }

    .advisor-dplan-table > thead,
    .advisor-schedule__scroll > table > thead {
        position: static !important;
        display: table-header-group !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        white-space: normal !important;
    }

    .advisor-dplan-table > tbody,
    .advisor-schedule__scroll > table > tbody {
        display: table-row-group !important;
    }

    .advisor-dplan-table tr,
    .advisor-schedule__scroll > table tr,
    .advisor-schedule .advisor-schedule__scroll > table > tbody > tr,
    .advisor-daily-ledger .advisor-schedule__scroll > table > tbody > tr {
        display: table-row !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent;
    }

    .advisor-dplan-table th,
    .advisor-dplan-table td,
    .advisor-schedule__scroll > table th,
    .advisor-schedule__scroll > table td,
    .advisor-schedule .advisor-schedule__scroll > table > tbody > tr > td,
    .advisor-daily-ledger .advisor-schedule__scroll > table > tbody > tr > td {
        display: table-cell !important;
        width: auto !important;
        min-width: 0;
        padding: 10px !important;
        border: 0 !important;
        border-bottom: 1px solid #e5eeec !important;
        border-radius: 0 !important;
        color: #375966;
        background: transparent;
        vertical-align: middle;
        white-space: nowrap !important;
        overflow-wrap: normal;
    }

    .advisor-dplan-table th,
    .advisor-schedule__scroll > table th {
        color: #688087;
        background: #edf6f4 !important;
        background-clip: padding-box;
        font-size: 10px;
        font-weight: 800;
    }

    .advisor-dplan-table td::before,
    .advisor-schedule__scroll > table td::before {
        display: none !important;
        content: none !important;
    }

    .advisor-schedule-crop,
    .advisor-schedule-crop span {
        min-width: max-content;
    }

    .advisor-schedule-crop strong {
        white-space: nowrap;
    }

    /* 居所资料上传表保留表头与同一行输入框，横向滑动填写。 */
    .advisor-profile-table-wrap {
        max-height: min(470px, 55dvh);
        padding: 8px;
        background: #f3f8f7;
    }

    .advisor-profile-table {
        display: table !important;
        width: 100% !important;
        min-width: 760px !important;
        border-collapse: collapse;
        table-layout: fixed;
    }

    .advisor-profile-table thead {
        position: static !important;
        display: table-header-group !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        white-space: normal !important;
    }

    .advisor-profile-table tbody {
        display: table-row-group !important;
    }

    .advisor-profile-table tr[data-profile-crop-row] {
        display: table-row !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff;
    }

    .advisor-profile-table th,
    .advisor-profile-table td,
    .advisor-profile-table th:first-child,
    .advisor-profile-table td:first-child,
    .advisor-profile-table th:nth-child(n+2),
    .advisor-profile-table td:nth-child(n+2) {
        display: table-cell !important;
        width: 180px;
        padding: 10px 12px !important;
        border: 0 !important;
        border-bottom: 1px solid #e5eeec !important;
        vertical-align: middle;
    }

    .advisor-profile-table th {
        background: #edf6f4 !important;
        background-clip: padding-box;
    }

    .advisor-profile-table th:first-child,
    .advisor-profile-table td:first-child {
        width: 220px;
    }

    .advisor-profile-table td::before {
        display: none !important;
        content: none !important;
    }

    .advisor-profile-crop {
        grid-template-columns: 42px minmax(128px, 1fr);
    }

    /* 共享、攻略中的普通表格：表格自身滑动，不带动整个页面。 */
    .hall-table,
    .strategy-table--compact {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    /* 共享表由外层容器滚动，table 保持真实列宽，避免移动端把所有列压成一屏。 */
    .mobile-table-scroll {
        margin: 0;
        padding: 0 0 4px;
    }

    .mobile-table-scroll > .hall-table {
        display: table !important;
        width: 930px !important;
        min-width: 930px !important;
        max-width: none !important;
        overflow: visible !important;
        border-collapse: collapse;
        table-layout: auto;
    }

    .mobile-table-scroll > .hall-table::before {
        display: none !important;
        content: none !important;
    }

    .mobile-table-scroll > .hall-table > thead,
    .mobile-table-scroll > .hall-table > tbody {
        min-width: 0;
    }

    .hall-table > thead,
    .hall-table > tbody,
    .strategy-table--compact > thead,
    .strategy-table--compact > tbody {
        min-width: 900px;
    }

    #cropShareContent,
    #merchantShareContent {
        max-width: 100%;
        overflow-x: visible !important;
    }
}

@media (max-width: 460px) {
    .advisor-dplan-table tr,
    .advisor-schedule__scroll > table tr,
    .advisor-dplan-table td,
    .advisor-schedule__scroll > table td {
        display: revert !important;
    }

    .advisor-dplan-table tr,
    .advisor-schedule__scroll > table tr {
        display: table-row !important;
    }

    .advisor-dplan-table td,
    .advisor-schedule__scroll > table td {
        display: table-cell !important;
        padding: 10px !important;
        border-bottom: 1px solid #e5eeec !important;
    }
}

/* ===== 居所共享移动端布局全面修复 ===== */
@media (max-width: 780px) {
    /* 确保所有共享表格保持真实行列结构，单元格不被拆成多行 */
    .mobile-table-scroll .hall-table,
    .mobile-table-scroll .hall-table > thead,
    .mobile-table-scroll .hall-table > tbody,
    .mobile-table-scroll .hall-table tr,
    .mobile-table-scroll .hall-table th,
    .mobile-table-scroll .hall-table td {
        display: revert !important;
    }
    .mobile-table-scroll .hall-table {
        display: table !important;
        width: 930px !important;
        min-width: 930px !important;
        border-collapse: collapse !important;
    }
    .mobile-table-scroll .hall-table > thead {
        display: table-header-group !important;
    }
    .mobile-table-scroll .hall-table > tbody {
        display: table-row-group !important;
    }
    .mobile-table-scroll .hall-table tr {
        display: table-row !important;
    }
    .mobile-table-scroll .hall-table th,
    .mobile-table-scroll .hall-table td {
        display: table-cell !important;
        padding: 10px 8px !important;
        vertical-align: middle !important;
        white-space: nowrap !important;
        border-bottom: 1px solid #e5eeec !important;
    }
    .mobile-table-scroll .hall-table td::before {
        display: none !important;
        content: none !important;
    }
    /* 共享货架排版修复 */
    .merchant-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    .merchant-card-header,
    .merchant-card-items,
    .merchant-card-footer,
    .merchant-card-actions {
        width: 100% !important;
        box-sizing: border-box !important;
        flex-wrap: wrap !important;
    }
    .merchant-card-item {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .merchant-card-item > span {
        white-space: normal !important;
        word-break: break-all !important;
    }
    /* 商人收购表格保持横向滚动 */
    #acquisitionShareContent .mobile-table-scroll .hall-table {
        min-width: 800px !important;
    }
    /* 收成记录卡片不被拆分 */
    .harvest-card,
    .harvest-card-footer {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .harvest-card-footer {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
}
