.home-inline-coin {
    width: 18px;
    height: 18px;
    object-fit: contain;
    vertical-align: -4px;
    margin-right: 5px;
}

.home-image-fallback {
    display: grid;
    place-items: center;
    color: #416d7c;
    background: #e8f2f5;
    font-weight: 800;
}

.home-data-pager span,
.residence-visual-picker__pager span {
    display: inline-grid;
    min-width: 46px;
    min-height: 42px;
    place-items: center;
    padding: 7px 12px;
    border-radius: 12px;
    color: #fff !important;
    background: #347bcc !important;
    box-shadow: 0 7px 18px rgba(52, 123, 204, .22);
    font-weight: 800;
}

.planting-card--v5 {
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid #d8e5e6 !important;
    background: rgba(255, 255, 255, .94) !important;
}

.planting-card--v5 > header {
    display: grid;
    /* 关键修复：之前 `minmax(0, 1fr) auto` 在 PC 端因 identity `width: 100%` 把第一列撑满、
       timing `min-width: 0; max-width: 100%; overflow: hidden` 让第二列被压缩到 0 附近，
       结果 timing 内容溢出到 identity 上、出现「标题与倒计时文字重叠」。
       改为单列 1fr（与移动端一致），identity 在上、timing 在下，彻底避开列宽竞争。 */
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px 10px;
}

.planting-card__identity { display: flex; align-items: center; gap: 12px; min-width: 0; width: 100%; }
.planting-card__identity > div { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; min-width: 0; }
.planting-card__identity strong { color: #163548; font-size: 18px; white-space: nowrap; word-break: keep-all; }
.planting-card__identity span { color: #718795; font-size: 12px; white-space: nowrap; }
.planting-card__image { width: 62px; height: 62px; border-radius: 16px; object-fit: contain; background: #eef6f4; padding: 5px; flex: 0 0 auto; }
.planting-card__timing {
    /* 单列布局：identity 在上、timing 在下，timing 自成一格（淡青背景 + 圆角），
       不再用 justify-items: end / text-align: right（那是为旧的双列 grid 准备的）。 */
    display: grid;
    justify-items: start;
    gap: 4px;
    width: 100%;
    min-width: 0;
    padding: 11px 14px;
    border-radius: 13px;
    background: #eef7f5;
    text-align: left;
    overflow: hidden;
}
.planting-card__timing > span { color: #7a8d96; font-size: 10px; letter-spacing: .08em; }
.planting-card-countdown { color: #3b9d89; font-size: clamp(16px, 1.7vw, 22px); font-variant-numeric: tabular-nums; line-height: 1.2; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.planting-card-countdown.critical { color: #d76d54; }
.planting-card__timing small { color: #6b838c; font-size: 11px; line-height: 1.5; }
.planting-card__timing .planting-card-water-rule { color: #3e7e73; font-weight: 750; }
.planting-card--v5 .planting-card-bar { height: 5px; margin: 0 18px; overflow: hidden; border-radius: 999px; background: #e4efee; }
.planting-card--v5 .planting-card-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #5aa7a1, #79d5bb); }
.planting-card--v5 .planting-card-rewards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 14px 18px; overflow: hidden; border: 1px solid #e1eceb; border-radius: 14px; background: #e1eceb; }
.planting-card--v5 .planting-card-rewards > div { display: grid; gap: 5px; padding: 12px; background: #f7fbfa; }
.planting-card--v5 .planting-card-rewards small { color: #718795; font-size: 11px; }
.planting-card--v5 .planting-card-rewards strong { color: #183b48; font-size: 17px; }
.planting-card--v5 .planting-card-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 8px !important;
    padding: 0 18px 18px !important;
}
.planting-card--v5 .planting-card-actions .btn {
    flex: 1 1 calc(50% - 4px) !important;
    min-width: 88px !important;
    min-height: 38px !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    text-align: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.planting-card--v5 .planting-card-actions .friend-aid-button { padding-left: 8px !important; padding-right: 8px !important; }
.maturity-exact-time { display: block; margin-top: 5px; color: #718795; font-size: 11px; font-variant-numeric: tabular-nums; line-height: 1.45; }

.home-flow-modal {
    position: fixed;
    inset: 0;
    z-index: 21000;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(22, 42, 54, .38);
    backdrop-filter: blur(12px);
}
.home-flow-modal[hidden] { display: none !important; }
.home-flow-dialog { position: relative; width: min(620px, 100%); max-height: min(760px, calc(100vh - 44px)); overflow: auto; padding: 30px; border: 1px solid rgba(104, 168, 174, .28); border-radius: 28px; color: #17384b; background: #fbfdfc; box-shadow: 0 34px 100px rgba(22, 57, 72, .26); }
.home-flow-dialog--receipt { width: min(530px, 100%); }
.home-flow-close { position: absolute; top: 14px; right: 15px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: #59707e; background: #eef5f4; font-size: 24px; cursor: pointer; }
.home-flow-kicker { margin: 0 0 7px; color: #58938e; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.home-flow-dialog h2 { margin: 0 48px 22px 0; font-size: clamp(24px, 4vw, 34px); letter-spacing: -.035em; }
.home-flow-crop, .home-receipt-hero { display: flex; align-items: center; gap: 14px; padding: 15px; border-radius: 18px; background: #eef7f4; }
.home-flow-crop__image, .home-receipt-image { width: 76px; height: 76px; object-fit: contain; border-radius: 14px; background: #fff; padding: 5px; }
.home-flow-crop > div, .home-receipt-hero > div { display: grid; gap: 5px; }
.home-flow-crop strong, .home-receipt-hero strong { font-size: 20px; }
.home-flow-crop span, .home-receipt-hero span { color: #6a818b; font-size: 13px; }
.home-flow-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.home-flow-action { display: grid; gap: 6px; min-height: 92px; padding: 18px; border: 1px solid #d8e7e5; border-radius: 18px; color: #244553; background: #fff; text-align: left; cursor: pointer; }
.home-flow-action--primary { border-color: #58998e; color: #fff; background: #58998e; }
.home-flow-action b { font-size: 15px; }.home-flow-action small { opacity: .76; line-height: 1.5; }
.home-receipt-list { margin: 18px 0 0; padding: 0; border-block: 1px dashed #cbdedc; }
.home-receipt-list > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 2px; border-bottom: 1px solid #e7efee; }
.home-receipt-list > div:last-child { border-bottom: 0; }
.home-receipt-list dt { color: #718795; }.home-receipt-list dd { margin: 0; font-weight: 800; text-align: right; }
.home-flow-confirm { width: 100%; min-height: 48px; margin-top: 18px; border: 0; border-radius: 15px; color: #fff; background: #58998e; font-weight: 800; cursor: pointer; }

.crop-sale-extra-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.crop-sale-rate-fill { margin: 3px 0 15px; }
.crop-sale-name { display: flex !important; align-items: center; gap: 10px; }
.crop-sale-name > span { display: grid; gap: 3px; }.crop-sale-name small { color: #758a92; }
.crop-sale-icon { width: 48px; height: 48px; object-fit: contain; padding: 4px; border-radius: 12px; background: #eef5f3; }
.crop-sale-row.is-at-limit { opacity: .72; }.crop-sale-community-note { color: #6d858e; font-size: 12px; }

.merchant-share-actions,
.merchant-item-actions { display: flex !important; flex-wrap: wrap; gap: 7px; visibility: visible !important; opacity: 1 !important; }

.residence-advisor { margin: 26px 0; padding: 28px; border: 1px solid #cfe1df; border-radius: 28px 8px 28px 8px; color: #17384b; background: linear-gradient(145deg, #f8fcfb, #edf7f4); }
.residence-advisor > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.residence-advisor > header p { margin: 0 0 5px; color: #58938e; font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.residence-advisor > header h2 { margin: 0; font-size: clamp(24px, 4vw, 38px); letter-spacing: -.04em; }
.residence-advisor > header > span { color: #748994; font-size: 12px; }
.residence-advisor-stats { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #d4e5e3; border-radius: 18px; background: #d4e5e3; gap: 1px; }
.residence-advisor-stats > div { display: grid; gap: 7px; padding: 17px; background: rgba(255,255,255,.88); min-width: 0; grid-template-columns: 1fr; grid-auto-rows: auto; }
.residence-advisor-stats small { color: #748994; }.residence-advisor-stats strong { font-size: 23px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.residence-advisor-stats small { display: flex; align-items: center; gap: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.advisor-profile-gate { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; padding: 14px 16px; border: 1px solid #e5cfa3; border-radius: 15px; background: #fff9ec; }
.advisor-profile-gate.is-complete { border-color: #cce0dc; background: #f4faf8; }
.advisor-profile-gate > div { display: grid; gap: 3px; }
.advisor-profile-gate span { color: #71858c; font-size: 11px; line-height: 1.55; }
.advisor-profile-gate button, .residence-advisor-empty__action { flex: 0 0 auto; min-height: 40px; padding: 0 13px; border: 1px solid #4f9085; border-radius: 11px; color: #fff; background: #4f9085; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.advisor-profile-dialog { width: min(980px, 100%); }
.advisor-profile-intro { margin: -10px 0 17px; color: #6c828a; line-height: 1.65; }
.advisor-profile-basics { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; align-items: start; }
.advisor-profile-basics label { display: grid; align-content: start; align-self: start; gap: 6px; min-width: 0; color: #607982; font-size: 11px; }
.advisor-profile-basics > label:nth-child(1),
.advisor-profile-basics > label:nth-child(2),
.advisor-profile-basics > label:nth-child(5) { grid-column: span 2; }
.advisor-profile-basics > label:nth-child(3),
.advisor-profile-basics > label:nth-child(4) { grid-column: span 3; }
.advisor-profile-basics input, #advisorProfileCropSearch, .advisor-profile-table input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid #cfdfdc; border-radius: 10px; color: #17384b; background: #fff; font: inherit; }
.advisor-profile-basics input[readonly] { color: #688089; background: #eff6f4; }
.advisor-profile-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; padding: 5px; border: 1px solid #d5e4e1; border-radius: 13px; background: #edf5f3; }
.advisor-profile-mode-switch button { min-height: 42px; padding: 8px 12px; border: 0; border-radius: 9px; color: #607a82; background: transparent; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.advisor-profile-mode-switch button.is-active { color: #fff; background: #4f9085; box-shadow: 0 5px 14px rgba(64,125,115,.18); }
.advisor-profile-mode-hint { margin: 8px 3px 0; color: #6b838a; font-size: 10px; line-height: 1.6; }
.advisor-profile-table-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: 20px; }
.advisor-profile-table-head > div { display: grid; gap: 3px; }
.advisor-profile-table-head span { color: #71858d; font-size: 11px; }
.advisor-profile-table-head input { width: min(220px, 44%); }
.advisor-profile-table-wrap { max-height: min(390px, 46vh); margin-top: 10px; overflow: auto; border: 1px solid #d6e4e2; border-radius: 14px; background: #fff; }
.advisor-profile-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.advisor-profile-table th, .advisor-profile-table td { padding: 10px 12px; border-bottom: 1px solid #e5eeec; text-align: left; vertical-align: middle; }
.advisor-profile-table th { position: sticky; top: 0; z-index: 1; color: #668087; background: #edf6f4; font-size: 11px; }
.advisor-profile-table th:first-child, .advisor-profile-table td:first-child { width: 220px; }
.advisor-profile-table th:nth-child(n+2), .advisor-profile-table td:nth-child(n+2) { width: 180px; }
.advisor-profile-crop { display: grid; grid-template-columns: 42px minmax(128px, 1fr); align-items: center; gap: 10px; min-width: 0; }
.advisor-profile-crop__image { width: 42px; height: 42px; object-fit: contain; flex: 0 0 auto; padding: 3px; border-radius: 10px; background: #edf5f3; }
.advisor-profile-crop > span { display: grid; gap: 2px; min-width: 0; }
.advisor-profile-crop strong, .advisor-profile-crop small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; word-break: keep-all; writing-mode: horizontal-tb; }
.advisor-profile-crop strong { color: #244954; font-size: 12px; line-height: 1.4; }
.advisor-profile-crop small { color: #7b8d93; font-size: 10px; line-height: 1.45; }
.advisor-profile-empty { color: #71858d; text-align: center !important; }
.advisor-profile-priority-section { margin-top: 18px; padding: 15px; border: 1px solid #d4e4e1; border-radius: 18px 8px 18px 8px; background: #f3f9f7; }
.advisor-profile-priority-section > header { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 11px; }
.advisor-profile-priority-section > header > div { display: grid; gap: 3px; }
.advisor-profile-priority-section > header strong { color: #244954; font-size: 14px; }
.advisor-profile-priority-section > header span { color: #71878e; font-size: 11px; line-height: 1.55; }
.advisor-profile-priority-section > header b { flex: 0 0 auto; padding: 4px 7px; border-radius: 5px; color: #47796f; background: #dcece8; font-size: 10px; }
.advisor-profile-priorities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.advisor-priority-card { min-width: 0; padding: 11px; border: 1px solid #d5e4e1; border-radius: 13px; background: rgba(255,255,255,.82); transition: border-color .22s ease, background .22s ease, transform .22s ease; }
.advisor-priority-card.is-selected { border-color: #8ebbb2; background: #fff; }
.advisor-priority-card.is-mismatch { border-color: #d79579; background: #fff8f3; }
.advisor-priority-card.is-mismatch > header small { color: #b35f43; font-weight: 700; }
.advisor-priority-card > header { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 8px; align-items: start; }
.advisor-priority-card > header > span { color: #5e968c; font-size: 11px; font-weight: 900; font-variant-numeric: tabular-nums; }
.advisor-priority-card > header strong, .advisor-priority-card > header small { display: block; }
.advisor-priority-card > header strong { color: #294d57; font-size: 12px; }
.advisor-priority-card > header small { margin-top: 2px; color: #789097; font-size: 9px; line-height: 1.45; }
.advisor-priority-pick { display: grid; width: 100%; min-width: 0; grid-template-columns: 43px minmax(0, 1fr) auto; gap: 9px; align-items: center; margin-top: 9px; padding: 8px; border: 1px solid #d6e5e2; border-radius: 11px; color: #294d57; background: #f8fbfa; text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.advisor-priority-pick:hover { border-color: #75aa9f; background: #eff7f5; transform: translateY(-1px); }
.advisor-priority-pick:active { transform: translateY(1px); }
.advisor-priority-pick:focus-visible, .advisor-priority-option:focus-visible { outline: 3px solid rgba(79,144,133,.22); outline-offset: 2px; }
.advisor-priority-image, .advisor-priority-empty { display: grid; width: 43px; height: 43px; place-items: center; object-fit: contain; padding: 3px; border-radius: 10px; color: #5b9389; background: #e7f2ef; font-size: 20px; }
.advisor-priority-pick > span:nth-child(2) { min-width: 0; }
.advisor-priority-pick strong, .advisor-priority-pick small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.advisor-priority-pick strong { font-size: 12px; }.advisor-priority-pick small { margin-top: 3px; color: #748a91; font-size: 9px; }
.advisor-priority-pick em { color: #4e887e; font-size: 10px; font-style: normal; font-weight: 800; }
.advisor-priority-rule { margin: 8px 0 0; padding: 7px 8px; border-radius: 8px; color: #52736f; background: #edf6f3; font-size: 9px; line-height: 1.55; font-variant-numeric: tabular-nums; }
.advisor-priority-card > label { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; align-items: center; margin-top: 8px; color: #668087; font-size: 10px; }
.advisor-priority-card > label { grid-template-columns: minmax(0, 1fr) minmax(170px, 42%); }
.advisor-priority-card .qjs-amount-control { grid-template-columns: minmax(0, 1fr) 4.2rem; }
.advisor-priority-card > label input { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #cfdfdc; border-radius: 9px; color: #17384b; background: #fff; font: inherit; font-variant-numeric: tabular-nums; }
.advisor-priority-card > label input:disabled { color: #9aabad; background: #eef4f2; }
.advisor-priority-picker { margin-top: 12px; padding: 14px; border: 1px solid #9fc5bd; border-radius: 16px; background: #fff; box-shadow: 0 14px 34px rgba(44,88,79,.1); }
.advisor-priority-picker > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.advisor-priority-picker > header > div { display: grid; gap: 3px; }.advisor-priority-picker > header strong { color: #244954; }.advisor-priority-picker > header span { color: #758b92; font-size: 10px; }
.advisor-priority-picker > header button { padding: 7px 9px; border: 1px solid #cadeda; border-radius: 9px; color: #4f7c75; background: #f4f9f8; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
#advisorPriorityPickerSearch { width: 100%; min-height: 40px; margin-top: 11px; padding: 8px 11px; border: 1px solid #cfdfdc; border-radius: 10px; color: #17384b; background: #f9fcfb; font: inherit; }
.advisor-priority-picker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.advisor-priority-option { display: grid; min-width: 0; grid-template-columns: 46px minmax(0, 1fr); gap: 8px; align-items: center; padding: 8px; border: 1px solid #d7e5e2; border-radius: 11px; color: #294d57; background: #f8fbfa; text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.advisor-priority-option:hover, .advisor-priority-option.is-active { border-color: #5c998e; background: #eaf5f2; transform: translateY(-1px); }
.advisor-priority-option__image { width: 46px; height: 46px; object-fit: contain; padding: 3px; border-radius: 9px; background: #e9f3f1; }
.advisor-priority-option > span { min-width: 0; }.advisor-priority-option strong, .advisor-priority-option small, .advisor-priority-option em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.advisor-priority-option strong { font-size: 11px; }.advisor-priority-option small { margin-top: 2px; color: #6f858c; font-size: 9px; }.advisor-priority-option em { margin-top: 3px; color: #4e8178; font-size: 8px; font-style: normal; }
.advisor-priority-tags { width: max-content; max-width: 100%; padding: 3px 6px; border-radius: 5px; color: #3f786e !important; background: #e1f0ec; font-weight: 800; }
.residence-advisor-request { display: grid; gap: 10px; margin-top: 16px; padding: 18px; border: 1px solid #d4e4e1; border-radius: 18px; background: rgba(255,255,255,.78); }
.residence-advisor-request > label { color: #244954; font-size: 15px; font-weight: 800; }
.residence-advisor-request textarea { width: 100%; min-height: 110px; resize: vertical; padding: 14px 15px; border: 1px solid #c6dcda; border-radius: 14px; color: #17384b; background: #f9fcfb; font: inherit; line-height: 1.7; outline: none; }
.residence-advisor-request textarea:focus { border-color: #5b9d91; box-shadow: 0 0 0 3px rgba(91,157,145,.12); }
.residence-advisor-examples { display: flex; flex-wrap: wrap; gap: 7px; }
.residence-advisor-examples button { padding: 7px 10px; border: 1px solid #d1e2df; border-radius: 999px; color: #54747c; background: #f4faf8; font-size: 11px; cursor: pointer; }
.residence-advisor-hero { display: grid; gap: 11px; margin-top: 3px; padding: 14px; border: 1px solid #d2e3e0; border-radius: 14px; background: #f5faf8; }
.residence-advisor-hero > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.residence-advisor-hero > div:first-child span { color: #71868e; font-size: 11px; }
.residence-advisor-hero__choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.residence-advisor-hero__choices button { min-height: 39px; padding: 7px; border: 1px solid #cbdeda; border-radius: 11px; color: #476a72; background: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.residence-advisor-hero__choices button.is-active { border-color: #4f9085; color: #fff; background: #4f9085; box-shadow: 0 6px 16px rgba(79, 144, 133, .18); }

/* 英雄到访：先展示变化，再由玩家确认；避免确认前直接写入经营数据。 */
.advisor-hero-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 10060;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(20, 43, 52, .56);
    backdrop-filter: blur(8px);
}
.advisor-hero-confirm-modal > section {
    position: relative;
    width: min(620px, 100%);
    max-height: min(82vh, 720px);
    overflow: auto;
    padding: 28px;
    border: 1px solid rgba(139, 191, 181, .58);
    border-radius: 24px;
    color: #17384b;
    background: #f8fcfb;
    box-shadow: 0 30px 80px rgba(12, 38, 47, .28);
}
.advisor-hero-confirm-modal header { padding: 0 42px 18px 0; border-bottom: 1px solid #dbe8e5; }
.advisor-hero-confirm-modal header small { color: #55998d; font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.advisor-hero-confirm-modal header h3 { margin: 7px 0 5px; color: #17384b; font-size: clamp(22px, 4vw, 31px); letter-spacing: -.035em; }
.advisor-hero-confirm-modal header p { margin: 0; color: #70868d; font-size: 12px; line-height: 1.65; }
.advisor-hero-confirm-close {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid #d2e2df;
    border-radius: 50%;
    color: #57727a;
    background: #fff;
    font: inherit;
    font-size: 22px;
    cursor: pointer;
}
.advisor-hero-preview-list { display: grid; gap: 9px; margin-top: 16px; }
.advisor-hero-preview-list article {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    padding: 11px;
    border: 1px solid #dce9e7;
    border-radius: 14px;
    background: #fff;
}
.advisor-hero-preview-image { width: 58px; height: 58px; object-fit: contain; padding: 4px; border-radius: 12px; background: #edf6f3; }
.advisor-hero-preview-list article > div { display: grid; gap: 4px; min-width: 0; }
.advisor-hero-preview-list strong { color: #244954; font-size: 14px; }
.advisor-hero-preview-list span { color: #5f7a82; font-size: 12px; line-height: 1.55; }
.advisor-hero-preview-empty { margin-top: 16px; padding: 18px; border: 1px dashed #b8d1cc; border-radius: 14px; color: #607a82; background: #edf6f3; line-height: 1.65; }
.advisor-hero-confirm-rule { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; margin-top: 14px; padding: 13px 14px; border-radius: 13px; color: #567078; background: #e8f3f0; font-size: 12px; line-height: 1.6; }
.advisor-hero-confirm-rule strong { color: #2f655c; }
.advisor-hero-confirm-modal footer { display: grid; grid-template-columns: 1fr 1.35fr; gap: 10px; margin-top: 18px; }
.advisor-hero-confirm-modal footer button { min-height: 48px; border: 1px solid #cbdedb; border-radius: 13px; color: #496b73; background: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.advisor-hero-confirm-modal footer [data-hero-confirm] { border-color: #4f9085; color: #fff; background: #4f9085; }
.advisor-hero-confirm-modal footer [data-hero-confirm]:disabled { border-color: #d7e2e0; color: #99aaa9; background: #edf2f1; cursor: not-allowed; }
.residence-advisor-send { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 17px; border: 0; border-radius: 14px; color: #fff; background: #4f9085; font: inherit; font-weight: 800; cursor: pointer; }
.residence-advisor-send:hover { background: #407d74; }.residence-advisor-send span { font-size: 20px; }
.residence-advisor-empty { margin-top: 14px; padding: 24px; border: 1px dashed #bfd5d1; border-radius: 16px; text-align: center; }
.residence-advisor-empty p { max-width: 620px; margin: 8px auto 0; color: #6d858d; line-height: 1.7; }
.residence-advisor-controls { display: grid; grid-template-columns: 1.3fr 2fr .8fr .8fr; gap: 12px; margin-top: 15px; }
.residence-advisor-controls fieldset, .residence-advisor-controls > label { min-width: 0; margin: 0; padding: 13px; border: 1px solid #d5e4e2; border-radius: 14px; background: rgba(255,255,255,.72); }
.residence-advisor-controls legend { padding: 0 5px; color: #637d86; font-size: 12px; }.residence-advisor-controls label { color: #31515c; font-size: 13px; }
.residence-advisor-controls > label { display: grid; gap: 8px; }.residence-advisor-controls input[type="number"] { width: 100%; min-height: 38px; border: 1px solid #c6dcda; border-radius: 10px; padding: 8px; }
.residence-advisor-summary { margin-top: 16px; padding: 16px; border-left: 3px solid #5b9d91; background: rgba(255,255,255,.66); }.residence-advisor-summary > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }.residence-advisor-summary span { color: #4c7d75; font-size: 12px; font-weight: 800; }.residence-advisor-summary p { margin: 5px 0 0; color: #637b84; line-height: 1.7; }
.residence-advisor-crops { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
.residence-advisor-crops article { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 13px; border: 1px solid #d5e4e2; border-radius: 14px; background: #fff; }
.residence-advisor-crop { width: 58px; height: 58px; object-fit: contain; flex: 0 0 auto; }.residence-advisor-crops article > div { display: grid; gap: 3px; min-width: 0; }.residence-advisor-crops small { color: #67928c; }.residence-advisor-crops span { color: #758a92; font-size: 11px; }.residence-advisor-crops em { display: flex; align-items: center; flex-wrap: wrap; color: #315d68; font-size: 11px; font-style: normal; font-weight: 800; }
.residence-advisor-timeline { margin-top: 12px; padding: 16px; border: 1px solid #d4e4e1; border-radius: 15px; background: rgba(255,255,255,.75); }.residence-advisor-timeline ol { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }.residence-advisor-timeline li { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding-top: 9px; border-top: 1px solid #e1ecea; }.residence-advisor-timeline li b { color: #4f8c82; }.residence-advisor-timeline li span { color: #637b84; }
.residence-advisor-facility { display: flex; justify-content: space-between; gap: 18px; margin-top: 12px; padding: 13px 15px; border-radius: 13px; color: #607a83; background: #e2f0ed; }.residence-advisor-facility strong { color: #244954; text-align: right; }
.hero-avatar-img img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

@media (max-width: 780px) {
    .residence-mobile-rail { overflow: visible !important; padding: 8px 12px 10px !important; }
    .residence-mobile-rail-track { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; width: 100% !important; min-width: 0 !important; gap: 6px !important; overflow: visible !important; }
    .residence-mobile-tab { min-width: 0 !important; padding: 8px 3px !important; border-radius: 11px !important; font-size: 10px !important; }
    .residence-mobile-tab__icon { font-size: 15px !important; }
    .mobile-header { min-height: 62px; padding: max(8px, env(safe-area-inset-top)) 12px 8px !important; }
    .mobile-logo small { max-width: 105px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-header-actions { gap: 5px !important; }.uid-display { max-width: 92px; }
    .mobile-feedback-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 32px !important; padding: 0 9px !important; border: 1px solid #d5e5e2 !important; border-radius: 10px !important; color: #315f67 !important; background: #f6fbfa !important; white-space: nowrap !important; }
    .home-flow-modal { align-items: end; padding: 80px 0 0; }
    .home-flow-dialog { width: 100%; max-height: calc(100dvh - 80px - env(safe-area-inset-top, 0px)); padding: 24px 18px max(22px, env(safe-area-inset-bottom)); border-radius: 26px 26px 0 0; }
    .home-flow-actions { grid-template-columns: 1fr; }
    #plantingList .planting-card--v5 > header { display: grid !important; grid-template-columns: 1fr !important; align-items: flex-start !important; gap: 12px !important; padding: 14px 14px 10px !important; }
    #plantingList .planting-card__identity { display: flex !important; align-items: center !important; width: 100% !important; min-width: 0 !important; }
    #plantingList .planting-card__identity > div { display: flex !important; flex-wrap: nowrap !important; align-items: baseline !important; column-gap: 8px !important; min-width: 0 !important; }
    #plantingList .planting-card__image { width: 52px !important; height: 52px !important; }
    #plantingList .planting-card__identity strong { display: block !important; width: auto !important; min-width: 0 !important; font-size: 16px !important; line-height: 1.35 !important; white-space: nowrap !important; word-break: keep-all !important; writing-mode: horizontal-tb !important; }
    #plantingList .planting-card__identity span { display: block !important; min-width: 0 !important; overflow: hidden !important; font-size: 12px !important; line-height: 1.45 !important; text-overflow: ellipsis !important; white-space: nowrap !important; writing-mode: horizontal-tb !important; }
    #plantingList .planting-card__timing { display: grid !important; justify-items: start !important; width: 100% !important; min-width: 0 !important; padding: 10px 12px !important; border-radius: 13px !important; background: #eef7f5 !important; text-align: left !important; }
    #plantingList .planting-card-countdown { display: block !important; max-width: 100% !important; color: #3b9d89 !important; font-size: 20px !important; line-height: 1.25 !important; letter-spacing: 0 !important; white-space: normal !important; writing-mode: horizontal-tb !important; }
    .planting-card__timing small { white-space: normal; }
    .planting-card--v5 .planting-card-rewards { margin: 12px 14px; }.planting-card--v5 .planting-card-rewards > div { padding: 10px 8px; }.planting-card--v5 .planting-card-rewards strong { font-size: 14px; }
    .planting-card--v5 .planting-card-actions { padding: 0 14px 14px !important; }
    .planting-card--v5 .planting-card-actions .btn { min-height: 36px !important; padding: 5px 8px !important; font-size: 12px !important; min-width: 0 !important; }
    .crop-sale-extra-grid { grid-template-columns: 1fr; }
    .residence-advisor { margin: 18px 0; padding: 18px 14px; border-radius: 20px; }
    .residence-advisor > header { align-items: flex-start; flex-direction: column; gap: 5px; }
    .residence-advisor-stats { grid-template-columns: 1fr 1fr; gap: 1px; }
    .residence-advisor-stats > div { padding: 13px 14px; gap: 4px; display: flex; align-items: center; justify-content: space-between; }
    .residence-advisor-stats > div:first-child { grid-column: 1 / -1; }
    .residence-advisor-stats strong { font-size: 19px; white-space: nowrap; }
    .residence-advisor-stats small { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .advisor-profile-gate { align-items: stretch; flex-direction: column; }
    .advisor-profile-gate button { width: 100%; }
    .advisor-profile-basics { grid-template-columns: 1fr; }
    .advisor-profile-basics > label:nth-child(n) { grid-column: auto; }
    .advisor-profile-mode-switch { grid-template-columns: 1fr; }
    .advisor-profile-table-head { align-items: stretch; flex-direction: column; }
    .advisor-profile-table-head input { width: 100%; }
    .advisor-profile-table-wrap { max-height: min(470px, 55dvh); padding: 8px; overflow-x: hidden; background: #f3f8f7; }
    .advisor-profile-table { display: block; min-width: 0; }
    .advisor-profile-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
    .advisor-profile-table tbody { display: grid; gap: 9px; }
    .advisor-profile-table tr[data-profile-crop-row] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 11px; border: 1px solid #d9e7e4; border-radius: 13px; background: #fff; }
    .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: grid; width: auto; padding: 0; border: 0; }
    .advisor-profile-table td:first-child { grid-column: 1 / -1; padding-bottom: 9px; border-bottom: 1px solid #e5eeec; }
    .advisor-profile-table td:last-child { grid-column: 1 / -1; }
    .advisor-profile-table td:not(:first-child)::before { content: attr(data-label); margin-bottom: 5px; color: #6b838a; font-size: 10px; font-weight: 700; line-height: 1.4; }
    .advisor-profile-crop { grid-template-columns: 42px minmax(0, 1fr); }
    .advisor-profile-crop__image { width: 42px; height: 42px; }
    .advisor-profile-priorities { grid-template-columns: 1fr; }
    .advisor-profile-priority-section { padding: 12px; }
    .advisor-profile-priority-section > header { flex-direction: column; gap: 7px; }
    .advisor-priority-card > label { grid-template-columns: 1fr; gap: 5px; }
    .advisor-priority-picker { padding: 12px; }
    .advisor-priority-picker > header { align-items: stretch; flex-direction: column; }
    .advisor-priority-picker > header button { width: 100%; min-height: 36px; }
    .advisor-priority-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .advisor-priority-option { grid-template-columns: 40px minmax(0, 1fr); padding: 7px; }
    .advisor-priority-option__image { width: 40px; height: 40px; }
    .residence-advisor-controls { grid-template-columns: 1fr 1fr; }.residence-advisor-controls fieldset { grid-column: 1 / -1; }
    .residence-advisor-request { padding: 14px; }.residence-advisor-examples { display: grid; grid-template-columns: 1fr; }.residence-advisor-examples button { border-radius: 10px; text-align: left; }
    .residence-advisor-hero > div:first-child { align-items: flex-start; flex-direction: column; gap: 3px; }.residence-advisor-hero__choices { grid-template-columns: 1fr 1fr; }
    .advisor-hero-confirm-modal { align-items: end; padding: 0; }
    .advisor-hero-confirm-modal > section { width: 100%; max-height: 88dvh; padding: 22px 16px max(18px, env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
    .advisor-hero-confirm-modal header { padding-right: 38px; }
    .advisor-hero-confirm-close { top: 14px; right: 14px; }
    .advisor-hero-preview-list { max-height: 38dvh; overflow: auto; }
    .advisor-hero-preview-list article { grid-template-columns: 50px minmax(0, 1fr); }
    .advisor-hero-preview-image { width: 50px; height: 50px; }
    .advisor-hero-confirm-rule { grid-template-columns: 1fr; gap: 4px; }
    .residence-advisor-crops { grid-template-columns: 1fr; }.residence-advisor-facility { flex-direction: column; gap: 5px; }.residence-advisor-facility strong { text-align: left; }
    .residence-advisor-timeline li { grid-template-columns: 1fr; gap: 3px; }
}

@media (max-width: 430px) {
    .residence-mobile-rail-track { grid-template-columns: repeat(4, 1fr) !important; }
    .residence-mobile-tab:nth-child(n+9) { grid-column: span 2; }
}

@media (max-width: 480px) {
    .residence-advisor-stats { grid-template-columns: 1fr; }
    .residence-advisor-stats > div:first-child { grid-column: auto; }
    .residence-advisor-stats > div { padding: 12px 14px; gap: 2px; display: flex; align-items: center; justify-content: space-between; }
    .residence-advisor-stats > div > small { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .residence-advisor-stats > div > strong { font-size: 18px; white-space: nowrap; }
}

/* 百工币/经验 万·千·百 单位输入实时预览 */
.unit-preview { display: block; margin-top: 3px; min-height: 14px; color: #4f9185; font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.unit-input-row { display: flex; flex-direction: column; gap: 4px; }
.unit-input-row input[data-home-unit-amount] { width: 100%; }
.unit-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.unit-chips button {
    flex: 1 1 auto;
    min-width: 36px;
    min-height: 28px;
    padding: 3px 8px;
    border: 1px solid #cfe1df;
    border-radius: 9px;
    color: #2d5564;
    background: #f1f8f6;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.unit-chips button:hover { background: #e2efec; border-color: #4f9185; color: #1c4340; }
.unit-chips button:active { background: #4f9185; color: #fff; border-color: #4f9185; }
.unit-chips button[data-unit=""] { background: #fff9ec; border-color: #e3cea2; color: #8b6d2f; }
