/* 智能居所计算器 v8：庭院实时联动、关键动作时间线、周末双倍空闲询问 */
#panel-advisor .advisor-live-link,
#panel-advisor .advisor-weekend-prompt {
    position: relative;
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #c8dfda;
    border-radius: 20px;
    color: #173d48;
    background: #fff;
}

#panel-advisor .advisor-live-link::before {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, #438f82, #7fb7a0 58%, #d7b670);
}

#panel-advisor .advisor-live-link > header,
#panel-advisor .advisor-weekend-prompt > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 20px 13px;
}

#panel-advisor .advisor-live-link > header > div,
#panel-advisor .advisor-weekend-prompt > header > div {
    display: grid;
    gap: 4px;
}

#panel-advisor .advisor-live-link > header small,
#panel-advisor .advisor-weekend-prompt > header small {
    color: #4d8f83;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}

#panel-advisor .advisor-live-link > header strong,
#panel-advisor .advisor-weekend-prompt > header strong {
    max-width: 36rem;
    font-size: clamp(18px, 2vw, 25px);
    line-height: 1.25;
    letter-spacing: -.025em;
    text-wrap: balance;
}

#panel-advisor .advisor-live-link > header button {
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid #9fc8bf;
    border-radius: 11px;
    color: #285f57;
    background: #edf7f4;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

#panel-advisor .advisor-live-link > header button:hover {
    border-color: #4c9488;
    background: #e0f1ec;
    transform: translateY(-1px);
}

#panel-advisor .advisor-live-link > header button:active,
#panel-advisor .advisor-weekend-presets button:active { transform: translateY(1px); }

#panel-advisor .advisor-live-link > header button:focus-visible,
#panel-advisor .advisor-weekend-presets button:focus-visible,
#panel-advisor .advisor-weekend-prompt input:focus-visible {
    outline: 2px solid #287e70;
    outline-offset: 2px;
}

#panel-advisor .advisor-live-link > p {
    margin: 0;
    padding: 0 20px 16px;
    color: #627d83;
    font-size: 12px;
    line-height: 1.65;
}

#panel-advisor .advisor-live-crops {
    display: grid;
    gap: 12px;
    padding: 0 20px 20px;
}

#panel-advisor .advisor-live-crop,
#panel-advisor .advisor-live-empty {
    padding: 16px;
    border: 1px solid #d8e7e4;
    border-radius: 16px;
    background: #f7fbfa;
}

#panel-advisor .advisor-live-crop > header {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

#panel-advisor .advisor-live-crop__image,
#panel-advisor .advisor-live-crop .home-image-fallback {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 13px;
    background: #eef6f3;
}

#panel-advisor .advisor-live-crop > header > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

#panel-advisor .advisor-live-crop > header strong { font-size: 16px; }
#panel-advisor .advisor-live-crop > header span { color: #6c858a; font-size: 11px; }
#panel-advisor .advisor-live-crop > header > b {
    padding: 7px 10px;
    border-radius: 9px;
    color: #2b6d62;
    background: #dff1eb;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}
#panel-advisor .advisor-live-crop > header > b.is-ready { color: #825f1a; background: #fff0c9; }

#panel-advisor .advisor-action-timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

#panel-advisor .advisor-action-timeline > div {
    position: relative;
    display: grid;
    align-content: start;
    gap: 4px;
    min-height: 112px;
    padding: 13px 13px 12px 44px;
    border: 1px solid #d7e5e2;
    border-radius: 13px;
    background: #fff;
}

#panel-advisor .advisor-action-timeline i {
    position: absolute;
    top: 13px;
    left: 12px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    color: #668087;
    background: #e8f0ef;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

#panel-advisor .advisor-action-timeline small {
    color: #789095;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

#panel-advisor .advisor-action-timeline strong {
    color: #1d4650;
    font-size: 12px;
    line-height: 1.45;
    font-variant-numeric: tabular-nums;
}

#panel-advisor .advisor-action-timeline span {
    color: #6c8288;
    font-size: 10px;
    line-height: 1.55;
}

#panel-advisor .advisor-action-timeline .is-done i { color: #fff; background: #5d9b90; }
#panel-advisor .advisor-action-timeline .is-current {
    border-color: #d1ad5e;
    box-shadow: inset 0 0 0 1px rgba(209, 173, 94, .2);
    background: #fffaf0;
}
#panel-advisor .advisor-action-timeline .is-current i { color: #fff; background: #b4882d; }
#panel-advisor .advisor-action-timeline .is-current small { color: #946d20; }
#panel-advisor .advisor-action-timeline .is-next { background: #fbfdfc; }

#panel-advisor .advisor-weekend-sync {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 14px 20px 20px;
    border-top: 1px solid #e0ebe9;
    background: #f7faf8;
}

#panel-advisor .advisor-weekend-sync > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px;
    border-left: 3px solid #c3d5d2;
    background: #fff;
}
#panel-advisor .advisor-weekend-sync > div.is-ready { border-left-color: #4f9589; }
#panel-advisor .advisor-weekend-sync > div.is-missing { border-left-color: #c49a45; }
#panel-advisor .advisor-weekend-sync small { color: #74898d; font-size: 9px; font-weight: 850; }
#panel-advisor .advisor-weekend-sync strong { overflow-wrap: anywhere; font-size: 12px; font-variant-numeric: tabular-nums; }
#panel-advisor .advisor-weekend-sync span { color: #71858a; font-size: 10px; line-height: 1.45; }

#panel-advisor .advisor-weekend-prompt {
    padding-bottom: 16px;
    background: #f7fbfa;
}

#panel-advisor .advisor-weekend-prompt > header > span {
    max-width: 34rem;
    color: #657e84;
    font-size: 11px;
    line-height: 1.65;
    text-align: right;
}

#panel-advisor .advisor-availability-modes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0 20px 12px;
    padding: 5px;
    border-radius: 12px;
    background: #e8f2ef;
}

#panel-advisor .advisor-availability-modes button {
    min-height: 40px;
    border: 0;
    border-radius: 9px;
    color: #5d777d;
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

#panel-advisor .advisor-availability[data-availability-mode-active="same"] [data-availability-mode="same"],
#panel-advisor .advisor-availability[data-availability-mode-active="split"] [data-availability-mode="split"],
#panel-advisor .advisor-availability[data-availability-mode-active="daily"] [data-availability-mode="daily"] {
    color: #245f56;
    background: #fff;
    box-shadow: 0 4px 14px rgba(48, 91, 83, .08);
}

#panel-advisor .advisor-availability [data-availability-panel] { display: none; }
#panel-advisor .advisor-availability[data-availability-mode-active="same"] [data-availability-panel="same"],
#panel-advisor .advisor-availability[data-availability-mode-active="split"] [data-availability-panel="split"],
#panel-advisor .advisor-availability[data-availability-mode-active="daily"] [data-availability-panel="daily"] { display: grid; }

#panel-advisor .advisor-weekday-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

#panel-advisor .advisor-weekend-prompt__days {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 20px;
}

#panel-advisor .advisor-weekend-prompt__days > article {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 15px;
    border: 1px solid #d6e5e2;
    border-radius: 15px;
    background: #fff;
}

#panel-advisor .advisor-weekend-prompt__days > article.is-ready { border-color: #9fc8bf; }
#panel-advisor .advisor-weekend-prompt__days > article > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
#panel-advisor .advisor-weekend-prompt__days b { font-size: 16px; }
#panel-advisor .advisor-weekend-prompt__days [data-weekend-status] { color: #71878c; font-size: 10px; text-align: right; }

#panel-advisor .advisor-weekend-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

#panel-advisor .advisor-weekend-presets button {
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid #d1dfdc;
    border-radius: 9px;
    color: #4e6e75;
    background: #f7faf9;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

#panel-advisor .advisor-weekend-presets button:hover { border-color: #76aa9f; }
#panel-advisor .advisor-weekend-presets button.is-active { border-color: #4d9286; color: #255f56; background: #e5f3ef; box-shadow: inset 3px 0 #4d9286; }

#panel-advisor .advisor-availability-goals {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    padding-top: 10px;
    border-top: 1px solid #e2ecea;
}

#panel-advisor .advisor-availability-goals > span {
    margin-right: auto;
    color: #688087;
    font-size: 10px;
    font-weight: 850;
}

#panel-advisor .advisor-availability-goals button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid #d0dfdc;
    border-radius: 8px;
    color: #59747a;
    background: #f8fbfa;
    font: inherit;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

#panel-advisor .advisor-availability-goals button.is-active {
    border-color: #5a9b90;
    color: #245f56;
    background: #e5f3ef;
}

#panel-advisor [data-availability-days] > p {
    margin: 0;
    color: #778b90;
    font-size: 10px;
    line-height: 1.5;
}

/* 时间只由“每周可操作时段”维护；排程引擎不生成第二套可见输入。 */
#panel-advisor .advisor-schedule-engine { display: none !important; }

#panel-advisor [data-weekend-custom-field] { display: none; }
#panel-advisor [data-availability-days].is-custom [data-weekend-custom-field] { display: grid; }

#panel-advisor .advisor-weekend-prompt label {
    display: grid;
    gap: 6px;
    color: #627c82;
    font-size: 10px;
    font-weight: 800;
}

#panel-advisor .advisor-weekend-prompt input {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #ccdedb;
    border-radius: 10px;
    color: #1b4650;
    background: #fbfdfc;
    box-sizing: border-box;
    font: inherit;
    font-variant-numeric: tabular-nums;
}

#panel-advisor .advisor-weekend-prompt label small {
    color: #819398;
    font-size: 9px;
    font-weight: 600;
}

#panel-advisor .advisor-operation-range {
    display: grid;
    gap: 3px;
    min-height: 42px;
    align-content: center;
    padding: 8px 11px;
    border: 1px solid #c5ddd8;
    border-radius: 10px;
    color: #647f84;
    background: #edf7f4;
    font-size: 10px;
    line-height: 1.4;
}

#panel-advisor .advisor-operation-range strong {
    color: #2b665c;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

#panel-advisor .advisor-weekend-prompt__note {
    margin: 12px 20px 0;
    color: #6d8388;
    font-size: 10px;
    line-height: 1.55;
}

#panel-advisor .advisor-current-field.is-live-linked {
    border-color: #9fc8bf;
    background: #eef8f5;
}

#panel-advisor .advisor-current-field.is-live-linked::after {
    content: "已从庭院经营自动读取";
    color: #2d7166;
    font-size: 10px;
    font-weight: 850;
}

#panel-advisor .advisor-current-field.is-live-linked > select { display: none; }

#panel-advisor .advisor-plan-source {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid #c9deda;
    border-radius: 20px;
    background: #f8fbfa;
}

#panel-advisor .advisor-plan-source > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 13px; border-bottom: 1px solid #dce9e6; }
#panel-advisor .advisor-plan-source > header > div { display: grid; gap: 4px; }
#panel-advisor .advisor-plan-source > header small { color: #58877f; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
#panel-advisor .advisor-plan-source > header strong { color: #173f47; font-size: clamp(18px, 2vw, 24px); letter-spacing: -.03em; }
#panel-advisor .advisor-plan-source > header > span { max-width: 58ch; color: #687f84; font-size: 10px; line-height: 1.55; text-align: right; }

#panel-advisor .advisor-plan-source__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#panel-advisor .advisor-plan-source__choices > button { position: relative; display: grid; gap: 7px; min-height: 124px; padding: 16px 132px 16px 16px; overflow: hidden; border: 1px solid #d2e0dd; border-radius: 14px; color: #567076; background: #fff; text-align: left; cursor: pointer; }
#panel-advisor .advisor-plan-source__choices > button::after { content: ""; position: absolute; right: 18px; top: 50%; width: 82px; aspect-ratio: 1; border: 1px solid #dbe8e4; border-radius: 50%; background: #f0f6f4; transform: translateY(-50%); }
#panel-advisor .advisor-plan-source__choices > button:first-child::after { box-shadow: inset 0 0 0 18px #e5f0ed; }
#panel-advisor .advisor-plan-source__choices > button:last-child::after { border-radius: 24px 50% 24px 50%; box-shadow: inset 0 0 0 18px #f1eadb; }
#panel-advisor .advisor-plan-source__choices b { color: #244c52; font-size: 16px; letter-spacing: -.02em; }
#panel-advisor .advisor-plan-source__choices span { max-width: 48ch; font-size: 9px; line-height: 1.6; }
#panel-advisor .advisor-plan-source__choices em { color: #6c8981; font-size: 9px; font-style: normal; font-weight: 850; }
#panel-advisor .advisor-plan-source__choices > button.is-active { border-color: #4d9084; background: #edf6f3; box-shadow: inset 4px 0 #4d9084; }
#panel-advisor .advisor-plan-source__choices > button.is-active::before { content: "当前主方案"; position: absolute; z-index: 1; top: 10px; right: 10px; color: #2d695f; font-size: 8px; font-weight: 900; }

#panel-advisor .advisor-plan-source__compare { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 13px 15px; border: 1px solid #dde7e4; border-radius: 12px; background: #fff; }
#panel-advisor .advisor-plan-source__compare > div { display: grid; gap: 3px; }
#panel-advisor .advisor-plan-source__compare strong { font-size: 11px; }
#panel-advisor .advisor-plan-source__compare span { color: #72858a; font-size: 9px; line-height: 1.45; }
#panel-advisor .advisor-plan-source__compare > button { display: flex; align-items: center; gap: 8px; min-width: 112px; min-height: 38px; padding: 6px 10px; border: 1px solid #d1dfdc; border-radius: 10px; color: #60767b; background: #f7faf9; cursor: pointer; }
#panel-advisor .advisor-plan-source__compare i { position: relative; width: 34px; height: 20px; flex: 0 0 34px; border-radius: 10px; background: #c9d6d2; }
#panel-advisor .advisor-plan-source__compare i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .18s ease; }
#panel-advisor .advisor-plan-source__compare > button.is-active { border-color: #59968b; color: #285f57; background: #e9f4f1; }
#panel-advisor .advisor-plan-source__compare > button.is-active i { background: #59968b; }
#panel-advisor .advisor-plan-source__compare > button.is-active i::after { transform: translateX(14px); }

#panel-advisor .advisor-custom-plan-form[hidden] { display: none !important; }
#panel-advisor .advisor-plan-mode-result { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 10px; align-items: baseline; margin-top: 14px; padding: 11px 14px; border-left: 4px solid #4f8c81; background: #edf5f2; }
#panel-advisor .advisor-plan-mode-result span { color: #71847f; font-size: 9px; font-weight: 800; }
#panel-advisor .advisor-plan-mode-result strong { color: #24564e; font-size: 13px; }
#panel-advisor .advisor-plan-mode-result small { justify-self: end; color: #6e8387; font-size: 9px; }
#panel-advisor .advisor-plan-branch { display: grid; gap: 14px; margin-top: 16px; }
#panel-advisor .advisor-plan-branch > header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 14px; align-items: end; padding: 15px 17px; border: 1px solid #d2e2de; border-radius: 16px 7px 16px 7px; background: #f6faf8; }
#panel-advisor .advisor-plan-branch > header small { grid-row: 1; color: #5f8c82; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
#panel-advisor .advisor-plan-branch > header strong { grid-row: 2; color: #214b50; font-size: 18px; letter-spacing: -.03em; }
#panel-advisor .advisor-plan-branch > header span { grid-column: 2; grid-row: 1 / span 2; justify-self: end; max-width: 60ch; color: #6d8185; font-size: 9px; line-height: 1.5; text-align: right; }
#panel-advisor .advisor-plan-branch.is-custom > header { border-color: #dfd4bc; background: #faf6ed; }
#panel-advisor .advisor-plan-branch.is-custom > header small { color: #95784e; }

/* 作物意向只描述“哪天种什么”，不再重复收集日期和准确时间。 */
#panel-advisor .advisor-custom-plan-form {
    gap: 14px;
    padding: 0 18px 18px;
    overflow: visible;
    border: 1px solid #cbdeda;
    border-radius: 20px;
    background: #f7fbfa;
}

#panel-advisor .advisor-custom-plan-form > header {
    margin: 0 -18px;
    padding: 18px;
    border-bottom: 1px solid #dce9e6;
    border-radius: 20px 20px 0 0;
    background: #edf6f3;
}

#panel-advisor .advisor-custom-plan-form > header > div { max-width: 760px; }
#panel-advisor .advisor-custom-plan-form > header small { color: #58877f; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
#panel-advisor .advisor-custom-plan-form > header strong { color: #173f47; font-size: clamp(18px, 2vw, 24px); letter-spacing: -.03em; }
#panel-advisor .advisor-custom-plan-form > header span { max-width: 68ch; color: #687f84; font-size: 11px; line-height: 1.65; }
#panel-advisor .advisor-custom-plan-form > header button {
    width: auto;
    min-width: 148px;
    min-height: 42px;
    border-radius: 11px;
    transition: transform .18s ease, background .18s ease;
}
#panel-advisor .advisor-custom-plan-form > header button:hover { transform: translateY(-1px); background: #467f75; }
#panel-advisor .advisor-custom-plan-form > header button:active { transform: translateY(1px); }

#panel-advisor .advisor-custom-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d5e5e2;
    border-radius: 13px;
    background: #d5e5e2;
    list-style: none;
}

#panel-advisor .advisor-custom-flow li { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 13px; color: #4f6d72; background: #fff; }
#panel-advisor .advisor-custom-flow b { color: #4f887e; font-size: 11px; font-variant-numeric: tabular-nums; }
#panel-advisor .advisor-custom-flow span { font-size: 10px; font-weight: 800; }

#panel-advisor .advisor-custom-plan-head,
#panel-advisor .advisor-custom-plan-row {
    grid-template-columns: minmax(300px, 1.1fr) minmax(300px, 1.25fr) 118px 70px;
    gap: 12px;
}

#panel-advisor .advisor-custom-plan-head { padding: 0 12px; }
#panel-advisor #advisorCustomRows { display: grid; gap: 12px; }

#panel-advisor .advisor-custom-plan-row {
    align-items: start;
    padding: 13px;
    border: 1px solid #d6e5e2;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(52, 101, 92, .06);
}

#panel-advisor .advisor-custom-plan-row > div > span,
#panel-advisor .advisor-custom-plan-row > label > span {
    display: block;
    margin-bottom: 7px;
    color: #6a8186;
    font-size: 9px;
    font-weight: 850;
}

#panel-advisor .advisor-custom-day-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
#panel-advisor .advisor-custom-plan-row button { width: auto; height: auto; border-radius: 9px; font: inherit; }
#panel-advisor .advisor-custom-day-grid button {
    min-width: 0;
    min-height: 42px;
    padding: 6px 3px;
    border: 1px solid #d5e2e0;
    color: #60777c;
    background: #f7faf9;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}
#panel-advisor .advisor-custom-day-grid button.is-active { border-color: #4f9186; color: #245f56; background: #e4f2ee; box-shadow: inset 0 -3px #4f9186; }

#panel-advisor .advisor-custom-crop-field { position: relative; min-width: 0; }
#panel-advisor .advisor-custom-crop-field > [data-custom-crop-toggle] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    padding: 7px 10px;
    border: 1px solid #cedfdb;
    color: #234c53;
    background: #f9fcfb;
    text-align: left;
    cursor: pointer;
}
#panel-advisor .advisor-custom-crop-field > [data-custom-crop-toggle] img,
#panel-advisor .advisor-custom-crop-field > [data-custom-crop-toggle] .home-image-fallback { width: 38px; height: 38px; flex: 0 0 38px; object-fit: contain; border-radius: 8px; background: #edf4f2; }
#panel-advisor .advisor-custom-crop-field > [data-custom-crop-toggle] span { display: grid; gap: 2px; min-width: 0; }
#panel-advisor .advisor-custom-crop-field > [data-custom-crop-toggle] strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#panel-advisor .advisor-custom-crop-field > [data-custom-crop-toggle] small { color: #7a8d91; font-size: 9px; }

#panel-advisor .advisor-custom-plan-row.is-picker-open .advisor-custom-crop-field { grid-column: 1 / -2; }
#panel-advisor .advisor-custom-crop-grid[hidden] { display: none !important; }
#panel-advisor .advisor-custom-crop-grid {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 7px;
    max-height: 320px;
    margin-top: 0;
    padding: 9px;
    overflow: auto;
    border: 1px solid #c2ddd6;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(33, 66, 74, .18);
}
#panel-advisor .advisor-custom-crop-grid button { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 58px; padding: 7px; border: 1px solid #d8e5e2; color: #294f55; background: #fff; text-align: left; cursor: pointer; }
#panel-advisor .advisor-custom-crop-grid button:hover { border-color: #79aa9f; background: #f8fcfb; }
#panel-advisor .advisor-custom-crop-grid img,
#panel-advisor .advisor-custom-crop-grid .home-image-fallback { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; border-radius: 8px; background: #edf4f2; }
#panel-advisor .advisor-custom-crop-grid button > span { display: grid; gap: 2px; min-width: 0; }
#panel-advisor .advisor-custom-crop-grid strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#panel-advisor .advisor-custom-crop-grid small { color: #7c8e92; font-size: 9px; }

#panel-advisor .advisor-custom-plots { display: grid; gap: 0; }
#panel-advisor .advisor-custom-plots input { min-height: 52px; font-variant-numeric: tabular-nums; }
#panel-advisor .advisor-custom-plots small { margin-top: 4px; color: #87979b; font-size: 8px; }
#panel-advisor .advisor-custom-plan-row > [data-custom-remove] { align-self: end; width: 100%; min-height: 52px; padding: 6px; border: 1px solid #ead6d2; color: #955e56; background: #fff6f4; font-size: 9px; font-weight: 800; cursor: pointer; }
#panel-advisor .advisor-custom-plan-row > [data-custom-remove]:hover { border-color: #c99187; background: #fcebe8; }

#panel-advisor button:focus-visible,
#panel-advisor input:focus-visible { outline: 3px solid rgba(68, 133, 121, .28); outline-offset: 2px; }

@media (max-width: 760px) {
    #panel-advisor .advisor-live-link,
    #panel-advisor .advisor-weekend-prompt { border-radius: 16px; }

    #panel-advisor .advisor-live-link > header,
    #panel-advisor .advisor-weekend-prompt > header {
        display: grid;
        gap: 10px;
        padding: 17px 14px 11px;
    }

    #panel-advisor .advisor-live-link > header button { width: 100%; }
    #panel-advisor .advisor-live-link > p { padding: 0 14px 13px; }
    #panel-advisor .advisor-live-crops { padding: 0 14px 14px; }
    #panel-advisor .advisor-live-crop,
    #panel-advisor .advisor-live-empty { padding: 12px; border-radius: 13px; }
    #panel-advisor .advisor-live-crop > header { grid-template-columns: 48px minmax(0, 1fr); }
    #panel-advisor .advisor-live-crop__image,
    #panel-advisor .advisor-live-crop .home-image-fallback { width: 48px; height: 48px; }
    #panel-advisor .advisor-live-crop > header > b { grid-column: 1 / -1; text-align: center; }

    #panel-advisor .advisor-action-timeline { grid-template-columns: 1fr; }
    #panel-advisor .advisor-action-timeline > div { min-height: 88px; padding-top: 12px; }
    #panel-advisor .advisor-weekend-sync,
    #panel-advisor .advisor-weekend-prompt__days { grid-template-columns: 1fr; }
    #panel-advisor .advisor-weekend-sync { padding: 12px 14px 14px; }
    #panel-advisor .advisor-weekend-prompt__days { padding: 0 14px; }
    #panel-advisor .advisor-availability-modes { margin-inline: 14px; grid-template-columns: 1fr; }
    #panel-advisor .advisor-weekday-grid { grid-template-columns: 1fr; }
    #panel-advisor .advisor-weekend-prompt > header > span { max-width: none; text-align: left; }
    #panel-advisor .advisor-weekend-prompt__note { margin-inline: 14px; }
    #panel-advisor .advisor-weekend-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #panel-advisor .advisor-weekend-presets button { width: 100%; }

    #panel-advisor .advisor-plan-source { padding: 14px 12px; border-radius: 16px; }
    #panel-advisor .advisor-plan-source > header { display: grid; gap: 7px; }
    #panel-advisor .advisor-plan-source > header > span { max-width: none; text-align: left; }
    #panel-advisor .advisor-plan-source__choices { grid-template-columns: 1fr; }
    #panel-advisor .advisor-plan-source__choices > button { min-height: 116px; padding: 14px 94px 14px 14px; }
    #panel-advisor .advisor-plan-source__choices > button::after { right: 12px; width: 64px; }
    #panel-advisor .advisor-plan-source__compare { grid-template-columns: 1fr; }
    #panel-advisor .advisor-plan-source__compare > button { width: 100%; justify-content: center; }
    #panel-advisor .advisor-plan-mode-result { grid-template-columns: auto 1fr; }
    #panel-advisor .advisor-plan-mode-result small { grid-column: 1 / -1; justify-self: start; }
    #panel-advisor .advisor-plan-branch > header { display: grid; grid-template-columns: 1fr; }
    #panel-advisor .advisor-plan-branch > header span { grid-column: 1; grid-row: auto; justify-self: start; text-align: left; }

    #panel-advisor .advisor-custom-plan-form { padding: 0 12px 13px; border-radius: 16px; }
    #panel-advisor .advisor-custom-plan-form > header { display: grid; margin: 0 -12px; padding: 15px 12px; border-radius: 16px 16px 0 0; }
    #panel-advisor .advisor-custom-plan-form > header button { width: 100%; }
    #panel-advisor .advisor-custom-flow { grid-template-columns: 1fr; }
    #panel-advisor .advisor-custom-flow li { min-height: 40px; }
    #panel-advisor .advisor-custom-plan-head { display: none; }
    #panel-advisor .advisor-custom-plan-row,
    #panel-advisor .advisor-custom-plan-row.is-picker-open { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 12px; }
    #panel-advisor .advisor-custom-plan-row.is-picker-open .advisor-custom-crop-field { grid-column: auto; }
    #panel-advisor .advisor-custom-day-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    /* 移动端作物选择弹窗改为 fixed 居中浮层，避免被 .residence-advisor overflow:hidden 裁剪 */
    #panel-advisor .advisor-custom-crop-grid {
        position: fixed;
        top: 50%;
        left: 50%;
        right: auto;
        bottom: auto;
        transform: translate(-50%, -50%);
        width: calc(100% - 32px);
        max-width: 420px;
        max-height: 70vh;
        margin-top: 0;
        z-index: 1000;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px;
        box-shadow: 0 24px 60px rgba(23, 51, 79, .28);
    }
    /* 移动端作物选择浮层的关闭按钮 */
    #panel-advisor .advisor-custom-crop-grid .advisor-custom-crop-close {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 38px;
        margin: -4px -4px 6px;
        padding: 7px;
        border: 1px solid #ead6d2;
        border-radius: 9px;
        color: #955e56;
        background: #fff6f4;
        font-size: 10px;
        font-weight: 800;
        cursor: pointer;
    }
    #panel-advisor .advisor-custom-crop-grid button { display: grid; justify-items: center; min-height: 96px; text-align: center; }
    #panel-advisor .advisor-custom-crop-grid strong { white-space: normal; }
    #panel-advisor .advisor-custom-plan-row > [data-custom-remove] { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    #panel-advisor .advisor-live-link > header button,
    #panel-advisor .advisor-weekend-presets button { transition: none; }
}

/* 作物选择浮层 portal：脱离面板 DOM 挂在 body，避免被 .residence-advisor 的 overflow:hidden 或定位上下文裁剪（修复移动端只显示一个作物） */
.advisor-crop-picker-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147482999;
    background: rgba(23, 51, 79, .42);
}
.advisor-crop-picker-portal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2147483000;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
    gap: 7px;
    width: min(720px, calc(100% - 32px));
    max-height: 90vh;
    margin: 0;
    padding: 14px;
    overflow: auto;
    border: 1px solid #c2ddd6;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(23, 51, 79, .3);
}
.advisor-crop-picker-portal[hidden] { display: none !important; }
.advisor-crop-picker-portal button {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 48px;
    padding: 7px;
    border: 1px solid #d8e5e2;
    border-radius: 10px;
    color: #294f55;
    background: #fff;
    text-align: left;
    cursor: pointer;
}
.advisor-crop-picker-portal button:hover { border-color: #79aa9f; background: #f8fcfb; }
.advisor-crop-picker-portal img,
.advisor-crop-picker-portal .home-image-fallback { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; border-radius: 8px; background: #edf4f2; }
.advisor-crop-picker-portal button > span { display: grid; gap: 2px; min-width: 0; }
.advisor-crop-picker-portal strong { overflow: hidden; font-size: 11px; color: #214955; text-overflow: ellipsis; white-space: nowrap; }
.advisor-crop-picker-portal small { color: #7c8e92; font-size: 9px; }
.advisor-crop-picker-portal .advisor-custom-crop-close {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    margin: -4px -4px 6px;
    padding: 7px;
    border: 1px solid #ead6d2;
    border-radius: 9px;
    color: #955e56;
    background: #fff6f4;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}
@media (max-width: 760px) {
    .advisor-crop-picker-portal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* 智能居所 · 牧场实时联动 v1 */
#panel-advisor .advisor-live-ranch {
    position: relative;
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #c9dcd7;
    border-radius: 20px;
    color: #173d48;
    background: #fbfdfc;
}
#panel-advisor .advisor-live-ranch::before {
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, #87724f, #c3a46b 48%, #5c9385);
}
#panel-advisor .advisor-live-ranch > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 20px 12px;
}
#panel-advisor .advisor-live-ranch > header > div { display: grid; gap: 4px; }
#panel-advisor .advisor-live-ranch > header small {
    color: #8a6b36;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}
#panel-advisor .advisor-live-ranch > header strong {
    font-size: clamp(18px, 2vw, 25px);
    line-height: 1.25;
    letter-spacing: -.025em;
    text-wrap: balance;
}
#panel-advisor .advisor-live-ranch > header button {
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid #c9b88e;
    border-radius: 11px;
    color: #6b532a;
    background: #fff8e9;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
#panel-advisor .advisor-live-ranch > header button:hover { border-color: #a88a49; background: #fff2d5; transform: translateY(-1px); }
#panel-advisor .advisor-live-ranch > header button:active { transform: translateY(1px); }
#panel-advisor .advisor-live-ranch > header button:focus-visible { outline: 2px solid #8b6a2d; outline-offset: 2px; }
#panel-advisor .advisor-live-ranch > p {
    max-width: 72ch;
    margin: 0;
    padding: 0 20px 16px;
    color: #647d82;
    font-size: 12px;
    line-height: 1.65;
    text-wrap: pretty;
}
#panel-advisor .advisor-ranch-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    margin: 0 20px 18px;
    overflow: hidden;
    border: 1px solid #d9e5e1;
    border-radius: 15px;
    background: #d9e5e1;
}
#panel-advisor .advisor-ranch-summary > article {
    display: grid;
    align-content: center;
    gap: 4px;
    min-height: 94px;
    padding: 14px;
    background: #f5faf8;
}
#panel-advisor .advisor-ranch-summary > article:first-child { grid-column: span 2; background: #eef6f3; }
#panel-advisor .advisor-ranch-summary small { color: #71878b; font-size: 9px; font-weight: 800; }
#panel-advisor .advisor-ranch-summary strong { color: #214f53; font-size: 17px; line-height: 1.25; font-variant-numeric: tabular-nums; }
#panel-advisor .advisor-ranch-summary span { color: #829397; font-size: 10px; line-height: 1.4; }
#panel-advisor .advisor-ranch-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 20px 20px; }
#panel-advisor .advisor-ranch-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d6e4e0;
    border-radius: 16px;
    background: #fff;
}
#panel-advisor .advisor-ranch-card > header {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 14px;
    background: linear-gradient(135deg, #f0f7f4, #fbf7ed);
}
#panel-advisor .advisor-ranch-animal-image,
#panel-advisor .advisor-ranch-card > header .home-image-fallback {
    width: 58px;
    height: 58px;
    object-fit: contain;
    border-radius: 13px;
    background: rgba(255,255,255,.82);
}
#panel-advisor .advisor-ranch-card > header > div { display: grid; gap: 3px; min-width: 0; }
#panel-advisor .advisor-ranch-card > header small { color: #7c8e8d; font-size: 9px; font-weight: 800; }
#panel-advisor .advisor-ranch-card > header strong { overflow: hidden; color: #204b50; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
#panel-advisor .advisor-ranch-card > header span { color: #758a8d; font-size: 10px; }
#panel-advisor .advisor-ranch-card > header > b {
    max-width: 8rem;
    padding: 6px 8px;
    border-radius: 8px;
    color: #456f67;
    background: #e4f1ed;
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
}
#panel-advisor .advisor-ranch-card > header > b.is-ready { color: #785619; background: #fff0c6; }
#panel-advisor .advisor-ranch-card > header > b.is-warning { color: #944f47; background: #ffebe7; }
#panel-advisor .advisor-ranch-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #e2ebe8; }
#panel-advisor .advisor-ranch-timeline > div {
    position: relative;
    display: grid;
    align-content: start;
    gap: 3px;
    min-width: 0;
    min-height: 86px;
    padding: 12px 9px 10px 34px;
    background: #f8fbfa;
}
#panel-advisor .advisor-ranch-timeline i {
    position: absolute;
    top: 12px;
    left: 9px;
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border-radius: 50%;
    color: #6f8587;
    background: #e6eeec;
    font-size: 8px;
    font-style: normal;
    font-weight: 900;
}
#panel-advisor .advisor-ranch-timeline .is-done i { color: #fff; background: #759b8e; }
#panel-advisor .advisor-ranch-timeline .is-current { background: #fff9ec; }
#panel-advisor .advisor-ranch-timeline small { color: #809092; font-size: 8px; font-weight: 900; letter-spacing: .06em; }
#panel-advisor .advisor-ranch-timeline strong { overflow-wrap: anywhere; color: #345a5d; font-size: 9px; line-height: 1.45; font-variant-numeric: tabular-nums; }
#panel-advisor .advisor-ranch-card > dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; background: #e2ebe8; }
#panel-advisor .advisor-ranch-card > dl div { min-width: 0; padding: 10px 12px; background: #fff; }
#panel-advisor .advisor-ranch-card dt { color: #7a8d90; font-size: 9px; }
#panel-advisor .advisor-ranch-card dd { margin: 3px 0 0; color: #244e53; font-size: 12px; font-weight: 900; font-variant-numeric: tabular-nums; }
#panel-advisor .advisor-ranch-card > p { margin: 0; padding: 11px 13px 13px; color: #74898c; font-size: 10px; line-height: 1.55; }
#panel-advisor .advisor-ranch-empty { margin: 0 20px 20px; padding: 20px; border: 1px dashed #c8d9d4; border-radius: 14px; background: #f5f9f8; }
#panel-advisor .advisor-ranch-empty strong,
#panel-advisor .advisor-ranch-empty span { display: block; }
#panel-advisor .advisor-ranch-empty strong { color: #31585c; font-size: 14px; }
#panel-advisor .advisor-ranch-empty span { margin-top: 5px; color: #778b8e; font-size: 11px; line-height: 1.6; }
#panel-advisor .advisor-live-ranch > footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    padding: 12px 20px;
    border-top: 1px solid #dce7e4;
    color: #526f73;
    background: #f1f7f5;
    font-size: 10px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 900px) {
    #panel-advisor .advisor-ranch-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #panel-advisor .advisor-ranch-summary > article:first-child { grid-column: span 2; }
    #panel-advisor .advisor-ranch-cards { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    #panel-advisor .advisor-live-ranch { border-radius: 16px; }
    #panel-advisor .advisor-live-ranch > header { display: grid; padding: 17px 14px 10px; }
    #panel-advisor .advisor-live-ranch > header button { width: 100%; }
    #panel-advisor .advisor-live-ranch > p { padding: 0 14px 13px; }
    #panel-advisor .advisor-ranch-summary { margin: 0 14px 14px; }
    #panel-advisor .advisor-ranch-summary > article { min-height: 82px; padding: 11px; }
    #panel-advisor .advisor-ranch-summary strong { font-size: 14px; }
    #panel-advisor .advisor-ranch-cards { padding: 0 14px 14px; }
    #panel-advisor .advisor-ranch-card > header { grid-template-columns: 50px minmax(0, 1fr); }
    #panel-advisor .advisor-ranch-animal-image,
    #panel-advisor .advisor-ranch-card > header .home-image-fallback { width: 50px; height: 50px; }
    #panel-advisor .advisor-ranch-card > header > b { grid-column: 1 / -1; max-width: none; }
    #panel-advisor .advisor-ranch-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #panel-advisor .advisor-ranch-card > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #panel-advisor .advisor-ranch-empty { margin: 0 14px 14px; }
    #panel-advisor .advisor-live-ranch > footer { display: grid; gap: 6px; padding: 11px 14px; }
}
/* first-action-confirm-v9 */
.advisor-first-action-question{margin:18px 0;padding:22px;border:1px solid rgba(55,119,118,.22);background:linear-gradient(135deg,rgba(244,251,249,.98),rgba(229,243,240,.9))}.advisor-first-action-question>header{display:flex;align-items:end;justify-content:space-between;gap:18px}.advisor-first-action-question>header small{display:block;color:#397b78;font-size:10px;letter-spacing:.16em}.advisor-first-action-question>header strong{display:block;font-size:22px;color:#163d49}.advisor-first-action-question>header span{font-size:12px;color:#607b83}.advisor-first-action-question>header time{display:block;color:#1e625f;font-weight:800;font-variant-numeric:tabular-nums}.advisor-first-action-question>p{max-width:72ch;margin:12px 0 16px;color:#5d747b;font-size:12px;line-height:1.75}.advisor-first-action-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.advisor-first-action-choices label{position:relative;cursor:pointer}.advisor-first-action-choices input{position:absolute;opacity:0}.advisor-first-action-choices span{display:grid;min-height:82px;align-content:center;padding:14px 16px;border:1px solid rgba(57,111,117,.18);background:#fff;transition:.2s ease}.advisor-first-action-choices strong{font-size:14px;color:#234a55}.advisor-first-action-choices small{margin-top:4px;color:#71868d;font-size:10px;line-height:1.5}.advisor-first-action-choices input:checked+span{border-color:#287f77;background:#e2f1ed;box-shadow:inset 0 0 0 1px #287f77}.advisor-first-action-choices input:focus-visible+span{outline:3px solid rgba(40,127,119,.2);outline-offset:2px}.advisor-first-action-custom{display:grid;grid-template-columns:180px minmax(220px,360px);gap:8px 14px;align-items:center;margin-top:13px;padding:13px 15px;background:rgba(255,255,255,.72)}.advisor-first-action-custom input{padding:10px;border:1px solid rgba(57,111,117,.25);background:#fff}.advisor-first-action-custom small{grid-column:2;color:#71868d;font-size:10px}.advisor-first-action-question>em{display:block;margin-top:12px;padding:10px 13px;border-left:3px solid #bf7a3d;background:#fff5e8;color:#85532c;font-size:11px;font-style:normal}.advisor-first-action-question.is-live-linked{opacity:.72}.advisor-first-action-result{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;margin-bottom:14px;padding:15px 18px;border-left:4px solid #2c8078;background:#edf6f3}.advisor-first-action-result>span{font:700 10px/1.3 Georgia,serif;letter-spacing:.15em;color:#2c8078}.advisor-first-action-result strong{display:block;color:#173f4b;font-size:15px}.advisor-first-action-result p{margin:3px 0 0;color:#60777f;font-size:11px}.advisor-first-action-result.is-needed{border-color:#bd7640;background:#fff6ea}.advisor-first-action-result.is-needed>span{color:#a76535}
@media(max-width:680px){.advisor-first-action-question{padding:17px 14px}.advisor-first-action-question>header{display:block}.advisor-first-action-question>header span{display:block;margin-top:8px}.advisor-first-action-choices{grid-template-columns:1fr}.advisor-first-action-choices span{min-height:0}.advisor-first-action-custom{grid-template-columns:1fr}.advisor-first-action-custom small{grid-column:auto}.advisor-first-action-result{grid-template-columns:1fr;gap:5px;padding:13px 14px}.advisor-first-action-result p{width:100%;max-width:none;text-wrap:wrap}}
