.visit-lifecycle{border:1px solid #ccdfef;border-radius:18px;background:#f7fbff;padding:20px;margin:14px 0;color:#183660}
/* Author labels must not inherit line wrapping from short message bubbles. */
body .v105-msg::before,body .fx-chat-message::before,body .fx-v101-msg::before{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;width:max-content;max-width:none!important}
.visit-panel-heading{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}.visit-lifecycle h3{margin:5px 0;font-size:18px}.visit-panel-heading small{font-size:10px;letter-spacing:.08em;color:#346ca7}.visit-panel-heading>span{background:#e5f5ef;color:#116a53;padding:7px 12px;border-radius:20px;font-size:12px}
.visit-lifecycle p{font-size:13px;line-height:1.6}.visit-code{padding:16px;border:1px dashed #abc7f0;border-radius:14px;background:white}.visit-code>strong{display:block;font-size:27px;letter-spacing:.2em;margin:8px 0}.visit-code p{color:#5b7090;margin-bottom:0}.visit-checks{padding:0;list-style:none;font-size:13px;line-height:2}
.visit-actions{display:flex;gap:10px;flex-wrap:wrap}.visit-lifecycle button{border:1px solid #b9ceeb;background:white;color:#16499a;border-radius:10px;padding:10px 13px;font-weight:700;cursor:pointer}.visit-lifecycle button:disabled{opacity:.5;cursor:wait}.visit-lifecycle button[type=submit]{background:#1763ed;color:white;border-color:#1763ed}.visit-lifecycle form{width:100%;display:grid;gap:12px}.visit-lifecycle label{display:grid;gap:5px;font-size:12px}.visit-lifecycle input,.visit-lifecycle textarea{border:1px solid #c5d5ed;border-radius:9px;padding:10px;background:white;color:#15345b;min-width:0;width:100%;box-sizing:border-box}.visit-lifecycle fieldset{border:1px solid #d2e0ef;border-radius:12px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.visit-lifecycle legend{font-size:12px}.visit-error{color:#ae2525}.visit-options>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:white;border-radius:10px;margin:7px 0}.visit-quote{border-left:3px solid #199370;padding:10px 14px;background:#edf9f4;margin-bottom:12px}.visit-lifecycle summary{cursor:pointer;font-size:13px;padding:10px 0}
.visit-managed .v105-request-box,.visit-managed .v105-stage-actions,.visit-managed .fx243-decision,.visit-managed [data-fx226-card],.visit-managed .fx197-pro-visit,.visit-managed .fx197-resident-confirm,.visit-managed .fx197-awaiting-budget,.visit-managed .fx197-reminder,.visit-managed .fx185-slot-panel,.visit-managed .fx194-visit-strip,.visit-managed .fx-statusbar{display:none!important}
@media(max-width:600px){.visit-lifecycle{padding:14px}.visit-lifecycle fieldset{grid-template-columns:1fr}.visit-options>div{align-items:stretch;flex-direction:column}}
.visit-managed .v110-altbox,.visit-managed .v120-confirmed,.visit-managed .fx185-side>.fx-panel:first-child{display:none!important}
.visit-managed .v120-pro-confirmed{display:none!important}
.visit-managed .v121-pro-reschedule,.visit-managed .v122-reschedule-banner{display:none!important}
.visit-work-plan{padding:14px;background:#edf7f3;border:1px solid #c6e5d7;border-radius:12px;margin:12px 0}
.visit-work-plan p{margin:6px 0}.visit-lifecycle select{padding:10px;border:1px solid #c5d5ed;border-radius:9px;background:white;color:#15345b}
.visit-lifecycle [data-work-days]{display:grid;gap:10px}
.visit-lifecycle .visit-day-task{grid-column:1/-1}
.visit-timeline{display:flex;gap:8px;list-style:none;padding:0;margin:14px 0 10px;flex-wrap:wrap}
.visit-timeline li{position:relative;padding:6px 10px 6px 24px;border-radius:999px;background:#edf2f8;color:#8190a8;font-size:11px;font-weight:800}
.visit-timeline li:before{content:'○';position:absolute;left:9px;color:#9aaac0}.visit-timeline li.done{background:#eaf2ff;color:#1d5bce}.visit-timeline li.done:before{content:'●';color:#2469ee}
.visit-proposal-intro{padding:12px 15px;border-left:4px solid #2469ee;background:#eaf2ff;border-radius:10px;color:#254779}
.visit-options>div{border:1px solid #cdddf4;padding:16px;box-shadow:0 3px 10px #153f8010}
.visit-options small{display:block;color:#5978a0;font-size:10px;letter-spacing:.08em;margin-bottom:6px}
.visit-options strong{display:block;font-size:16px}
.visit-options button{background:#1763ed;color:#fff;border-color:#1763ed}
.visit-agenda-advice{margin:12px 0;padding:14px;border-radius:12px;background:#edf7f3;border:1px solid #c6e5d7}
.v105-msg[data-sender]:before{content:attr(data-sender)!important;text-transform:none!important}
.visit-pending-steps{display:grid;gap:12px;width:100%}
.visit-pending-step{display:grid;gap:5px;justify-items:start}
.visit-lifecycle .visit-pending-step button:disabled{background:#e8edf2;color:#647183;border-color:#cbd3dd;opacity:1;cursor:not-allowed;box-shadow:none}
.visit-pending-step small{color:#596b82;line-height:1.5}
.visit-details{margin:8px 0;border-top:1px solid #d8e4ef}
.visit-adjustments{width:100%;border-top:1px solid #d8e4ef;margin-top:4px}
.visit-details>summary,.visit-adjustments>summary{font-weight:700;color:#315678;min-height:36px;box-sizing:border-box}
.visit-lifecycle .visit-adjustments button[type=submit]{background:white;color:#16499a;border-color:#b9ceeb}
.visit-lifecycle .visit-adjustments form{margin:8px 0}
.visit-modal{position:fixed;inset:0;z-index:10050;background:#10294988;display:grid;place-items:center;padding:20px;box-sizing:border-box}
.visit-modal-card{background:white;border-radius:18px;box-shadow:0 20px 80px #10294955;padding:24px;width:min(720px,100%);max-height:85dvh;overflow:auto;box-sizing:border-box}
dialog.visit-modal-card{border:0;margin:auto;width:min(720px,calc(100vw - 40px));overscroll-behavior:contain}
dialog.visit-modal-card::backdrop{background:#10294988}
@media(max-width:600px){dialog.visit-modal-card{width:calc(100vw - 16px)}}
.visit-modal-close{float:none;position:static;display:block;margin:0 0 12px auto}
.visit-team-fields{display:block!important}.visit-team-fields>label,.visit-team-fields>div>label{margin:10px 0}
.visit-team-fields [hidden]{display:none!important}
.visit-team-fields small{display:block;margin:8px 0;color:#715511}
.visit-work-plan>summary{font-weight:700}
.visit-work-plan[open]{max-height:260px;overflow:auto}
#pro-conversas .v105-conv-main{min-width:0}
#pro-conversas .v105-chat{min-height:280px}
.fx221-week-event[data-team-color],.fx221-main[data-team-color]{border-left:5px solid var(--team-color)!important;background:color-mix(in srgb,var(--team-color) 9%,white)!important}
.fx221-team{display:block;margin-top:6px;font-size:11px;font-weight:700;color:var(--team-color,#345b86)}
@media(max-width:600px){.visit-modal{padding:8px}.visit-modal-card{padding:16px;max-height:92dvh}.visit-panel-heading h3{font-size:16px}}
.visit-lifecycle .visit-timeline{margin:8px 0;gap:5px}
.visit-lifecycle .visit-pending-steps{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
@media(max-width:600px){.visit-pending-step{justify-items:stretch}.visit-pending-step button{width:100%}}
.visit-work-reschedule{width:100%;box-sizing:border-box;padding:14px;margin:12px 0;border:1px solid #c6e5d7;border-radius:12px;background:#edf7f3}
.visit-work-reschedule .visit-actions{margin-top:10px}
.visit-lifecycle .visit-next-step{padding:14px 16px;margin:14px 0;border:1px solid #b8dccf;border-left:4px solid #087f68;border-radius:12px;background:#eef9f4}
.visit-next-step small{color:#08745e;font-size:10px;letter-spacing:.08em;font-weight:800}.visit-next-step p{margin:6px 0 0;font-weight:600}
body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-timeline.visit-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border:0;padding:0;margin:14px 0}
body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-progress li{display:grid;justify-items:center;align-content:start;gap:5px;text-align:center;border-radius:10px;background:#edf2f8;color:#52657f;padding:10px 3px;font-size:10px;line-height:1.3}
body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-progress li:before{position:static;content:'○';font-size:16px;color:#6d7f97}
body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-progress li.done{background:#e5f5ed;color:#08745e}body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-progress li.done:before{content:'✓';color:#08745e}
body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-progress li.current{background:#1763ed;color:#fff;box-shadow:0 3px 9px #1763ed26}body :is(.fx185-main.visit-managed,#pro-conversas .v105-conv-main) .visit-lifecycle .visit-progress li.current:before{content:'●';color:#fff}
.visit-lifecycle>.visit-code{margin:14px 0;border-style:solid;border-color:#b4d8cc;background:#fff;box-shadow:0 4px 14px #087f680c}
.visit-lifecycle>.visit-code .visit-actions{margin-top:12px}.visit-lifecycle>.visit-code button{background:#087f68;border-color:#087f68;color:#fff;min-height:44px}
.visit-lifecycle .visit-code-archive{margin:12px 0;padding:0 12px;border:1px solid #c6e5d7;border-radius:12px;background:#eef9f4}.visit-code-archive>summary{color:#08745e;font-weight:700;min-height:44px}.visit-code-archive .visit-code{margin:0 0 12px}
.visit-lifecycle :is([data-flow-action="accept"],[data-flow-action="confirm_finish"],[data-flow-action="finish"],[data-flow-action="arrive"],[data-flow-action="journey-accept"],[data-flow-action="extend-accept"],[data-flow-form="checkin"] button[type="submit"]){background:#087f68;color:#fff;border-color:#087f68;min-height:48px;padding:13px 18px;box-shadow:0 3px 10px #087f6826;font-size:14px}
.visit-lifecycle :is([data-flow-action="accept"],[data-flow-action="confirm_finish"],[data-flow-action="finish"],[data-flow-action="arrive"],[data-flow-action="journey-accept"],[data-flow-action="extend-accept"]):hover:not(:disabled){background:#066653}
.visit-lifecycle [data-flow-action="still"]{min-height:48px;color:#805512;border-color:#e2cf9e;background:#fffcf5}
.visit-lifecycle[aria-busy="true"] button:disabled{cursor:progress}
body.professional-account .visit-work-reschedule button{border-color:#b9d9cd;color:#087f60}
body.professional-account .visit-work-reschedule button[data-flow-action="journey-accept"]{background:#087f60;color:#fff}
@media(max-width:600px){.visit-work-reschedule .visit-actions button{flex:1;min-height:44px}}
.visit-lifecycle .visit-schedule-notice{margin:0;padding:12px 14px;border:1px solid #e6bb77;border-radius:10px;background:#fff8e9;color:#754916;font-size:13px;line-height:1.5}
.visit-lifecycle .work-availability{grid-column:1/-1;min-width:0;padding:12px;border:1px solid #b7dfd3;border-radius:12px;background:#f0faf6}
.visit-lifecycle .work-availability [hidden]{display:none!important}
.visit-lifecycle .work-availability-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.visit-lifecycle .work-availability-settings label{min-width:0}
.visit-lifecycle .work-availability input{min-width:0;width:100%;box-sizing:border-box}
.visit-lifecycle .work-availability select{min-width:0;width:100%;box-sizing:border-box;min-height:44px}
.work-travel-settings{margin:12px 0;border:1px solid #b7d8ce;border-radius:10px;padding:10px;background:white}
.work-travel-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.visit-lifecycle .work-travel-toggle{display:flex;align-items:flex-start;gap:8px;margin:12px 0}
.visit-lifecycle .work-travel-toggle input{width:auto;flex:none}
.work-travel-selected{padding:14px;border:1px solid #a7d5c5;background:white;border-radius:12px;margin-top:12px}
.work-travel-selected a{display:block;padding:10px 0;color:#087f60;font-weight:700;overflow-wrap:anywhere}
.work-travel-opportunity{font-weight:700;color:#087f60}
.visit-lifecycle .work-availability-slots button{white-space:pre-line}
@media(max-width:600px){.work-travel-fields{grid-template-columns:1fr}}
.visit-lifecycle .work-availability p,.visit-lifecycle .work-availability li{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.visit-lifecycle .work-availability small{display:block;margin-top:12px;color:#466477;line-height:1.5}
.visit-lifecycle .work-availability-slots{display:flex;gap:8px;flex-wrap:wrap;max-height:220px;overflow:auto;overscroll-behavior:contain}
.visit-lifecycle .work-availability button{min-height:44px;color:#087f60;border-color:#aad9ca;background:white}
.visit-lifecycle .work-availability button[aria-pressed=true]{background:#087f60;color:white;border-color:#087f60}
.visit-lifecycle .work-availability [data-availability-status]{font-weight:700;color:#165f4c}
@media(max-width:600px){.visit-lifecycle .work-availability-settings{grid-template-columns:minmax(0,1fr)}.visit-lifecycle .work-availability{padding:10px}.visit-lifecycle .work-availability-slots button{flex:1 0 115px}}
.visit-lifecycle .proposal-messages{margin:16px 0;padding:14px;border:1px solid #aadccc;border-radius:14px;background:#f0faf6}
.visit-lifecycle .proposal-messages h4{margin:0;color:#087f60;font-size:16px}
.visit-lifecycle .proposal-messages-history{max-height:200px;overflow:auto;display:grid;gap:8px;margin:12px 0}
.visit-lifecycle .proposal-message{padding:10px;border:1px solid #dbe5ea;border-radius:12px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
.visit-lifecycle .proposal-message.mine{background:#daf5e9}
.visit-lifecycle .proposal-message small{display:block;margin-top:4px;color:#526b65}
.visit-lifecycle .proposal-messages-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.visit-lifecycle [data-proposal-chat-send]{background:#087f60;color:white;border-color:#087f60}
.visit-lifecycle [data-proposal-chat-file]{display:none!important}
.visit-lifecycle [data-work-day]>label:first-of-type,.visit-lifecycle [data-work-manual]{grid-column:1/-1}
.visit-lifecycle [data-work-manual][hidden],.visit-lifecycle [data-work-day]>input[type=hidden]{display:none!important}
.visit-lifecycle .work-free-window{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:12px;background:white;border:1px solid #b3dbce;border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.visit-lifecycle .work-free-window>strong{min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:15px;line-height:1.5}
.visit-lifecycle .work-free-window button,.visit-lifecycle .work-next-day{box-sizing:border-box;min-width:0;max-width:100%;height:auto;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.visit-lifecycle .work-free-window details button{margin:4px}
.visit-lifecycle .work-next-day{display:block;width:100%;text-align:left;margin:8px 0;white-space:normal}
.visit-lifecycle .work-availability .work-availability-slots{max-height:none;overflow:visible}
.fx260-home-attention .quote-pending{border-left:4px solid #d79014;background:#fff8e9}
.visit-lifecycle .work-availability [data-availability-refresh]{width:100%;background:#087f60;border-color:#087f60;color:white;font-size:15px;box-shadow:0 3px 8px #087f6020;margin-top:10px}
.visit-lifecycle .work-availability [data-availability-search-days]{width:100%;background:#edf3ff;border-color:#a8c2f1;color:#164e9b;font-size:14px}
.visit-lifecycle .work-availability [data-availability-status]{padding:10px 12px;border-radius:10px;background:#eef3f8;color:#52677b;font-weight:500}
.visit-lifecycle .work-availability [data-availability-status]:empty{display:none}
.visit-lifecycle .work-availability [data-availability-status][data-state=ready],.visit-lifecycle .work-availability [data-availability-status][data-state=selected]{background:#e1f5eb;color:#095d43;border-left:3px solid #087f60}
.visit-lifecycle .work-availability [data-availability-status][data-state=warning]{background:#fff4dc;color:#805610;border-left:3px solid #ce931c}
.visit-lifecycle .work-availability [data-availability-status][data-state=error]{background:#fff0ef;color:#9e3026;border-left:3px solid #bb4337}
.visit-lifecycle .work-other-day-hint{margin:18px 0 8px;color:#52677b}
.visit-lifecycle [data-availability-location]:empty{display:none}
.visit-lifecycle .visit-warranty-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.visit-warranty-fields p{grid-column:1/-1;margin:0;font-size:12px;color:#52677b}
.visit-lifecycle .visit-warranty{padding:14px 16px;margin:14px 0;background:#edf7ff;border:1px solid #c4ddee;border-radius:12px;display:grid;gap:6px}
.visit-warranty small{font-size:10px;font-weight:700;letter-spacing:.04em;color:#42667f}
.visit-warranty strong{font-size:18px;color:#183e67}.visit-warranty p{margin:0;font-size:12px;line-height:1.5}
/* The professional work pane is narrow on desktop too. Keep entire words intact. */
html body.fx260-pro-shell.fx260-pro-shell #pro-conversas .visit-lifecycle .visit-timeline.visit-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body.fx260-pro-shell.fx260-pro-shell #pro-conversas .visit-lifecycle .visit-progress li{padding:12px 8px;min-width:0;font-size:12px;line-height:1.4;overflow-wrap:normal;word-break:normal;hyphens:none;align-content:center}
html body.fx260-pro-shell.fx260-pro-shell #pro-conversas .visit-lifecycle .visit-progress li span{overflow-wrap:normal;word-break:normal;hyphens:none}
html body.fx260-pro-shell.fx260-pro-shell #pro-conversas .visit-lifecycle .visit-schedule{padding:12px 14px;border:1px solid #cce4da;border-radius:12px;background:#eef8f3;line-height:1.6}
html body.fx260-pro-shell.fx260-pro-shell #pro-conversas .visit-schedule strong{display:grid;gap:3px;overflow-wrap:normal;word-break:normal}
html body.fx260-pro-shell.fx260-pro-shell #pro-conversas .visit-schedule-time{white-space:nowrap;color:#08745e;font-size:16px}
/* Visit proposals read as one form, with options separated by a simple rule. */
.visit-lifecycle fieldset[data-visit-availability]{min-width:0;margin:0;padding:16px 0 4px;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.visit-lifecycle fieldset[data-visit-availability]+fieldset[data-visit-availability]{border-top:1px solid #dbe7e7;padding-top:20px;margin-top:8px}
.visit-lifecycle [data-visit-availability]>legend{padding:0;font-size:14px;font-weight:800;color:#183660}
.visit-lifecycle [data-visit-availability]>label:first-of-type{grid-column:1/-1}
.visit-lifecycle [data-visit-availability] .work-availability{padding:0;margin-top:2px;border:0;border-radius:0;background:transparent;display:flex;flex-wrap:wrap;gap:8px}
.visit-lifecycle [data-visit-availability] [data-visit-free]{flex:1 0 100%;background:#087f68;border-color:#087f68;color:white;min-height:44px}
.visit-lifecycle [data-visit-availability] [data-visit-free-days]{padding:8px 0;border:0;border-radius:0;background:transparent;text-align:left;text-decoration:underline;text-underline-offset:3px;font-size:13px;line-height:1.5;min-height:44px}
.visit-lifecycle [data-visit-availability] [data-visit-free-status]{flex:1 0 100%;margin:0;color:#476574;font-size:12px}
.visit-lifecycle [data-visit-availability] [data-visit-free-results]{flex:1 0 100%;gap:0}
.visit-lifecycle [data-visit-availability] .work-free-window{padding:12px 0;border:0;border-radius:0;background:transparent;gap:6px}
.visit-lifecycle [data-visit-availability] .work-free-window+.work-free-window{border-top:1px solid #dbe7e7}
.visit-lifecycle [data-visit-availability] .work-free-window>strong{font-size:14px}
.visit-lifecycle [data-visit-availability] .work-free-window>p{margin:0;color:#526c78;font-size:12px}
.visit-lifecycle [data-visit-availability] [data-visit-suggestion]{justify-self:start;border:0;border-radius:8px;background:#e1f3ec;color:#07644e;font-size:13px;padding:10px 14px;min-height:44px}
.visit-lifecycle [data-visit-availability] [data-visit-suggestion]:hover{background:#cceadf}
.visit-lifecycle [data-visit-availability] .work-free-window details button{margin:4px 4px 4px 0}
.visit-lifecycle [data-visit-availability] .work-free-window summary{padding:8px 0;font-size:12px;color:#476574;min-height:28px}
.visit-lifecycle [data-visit-availability] .work-availability>small{flex:1 0 100%;margin:0;font-size:11px;line-height:1.5}
.visit-lifecycle [data-visit-availability] button:focus-visible{outline:3px solid #80b6fb;outline-offset:3px}
/* A clear, touch-friendly disclosure without another enclosing card. */
.visit-lifecycle .visit-details{border-top:0;margin:14px 0}
.visit-lifecycle .visit-details>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:48px;padding:12px 14px;border-radius:10px;background:#e6efff;color:#164ca5;font-size:14px;font-weight:800;line-height:1.4}
.visit-lifecycle .visit-details>summary::-webkit-details-marker{display:none}
.visit-lifecycle .visit-details>summary::before{content:'ⓘ';font-size:20px;line-height:1}
.visit-lifecycle .visit-details>summary::after{content:'';width:8px;height:8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0}
.visit-lifecycle .visit-details[open]>summary{background:#d9e8ff}
.visit-lifecycle .visit-details[open]>summary::after{transform:rotate(225deg)}
.visit-lifecycle .visit-details>summary:hover{background:#d9e8ff}
.visit-lifecycle .visit-details>summary:focus-visible{outline:3px solid #2463eb;outline-offset:3px}
.proposal-chat-notice{margin:10px 0;padding:12px;border:1px solid #a9c8ff;border-left:4px solid #1769ff;border-radius:10px;background:#edf4ff;color:#173564;line-height:1.5}
.proposal-chat-notice p{margin:5px 0;font-size:13px}
.proposal-chat-notice button{min-height:44px;padding:8px 12px;border:1px solid #a9c8ff;border-radius:8px;background:white;color:#164ca5;font-weight:800;cursor:pointer}
.proposal-chat-notice{flex-shrink:0;width:100%;box-sizing:border-box}
.proposal-chat-option{margin:10px 0;padding:12px;border:1px solid #c8daf5;border-radius:10px;background:white}
.proposal-chat-option small{font-size:11px;letter-spacing:.06em}
.proposal-chat-option [data-proposal-accept-order]{width:100%;background:#087f68;color:white;border-color:#087f68}
.proposal-chat-option button:disabled{opacity:.65;cursor:wait}
.proposal-chat-notice [data-proposal-chat-error]{color:#b42318}
/* A pending proposal stays visible while the resident reads the history.
   It must not sit below all messages in the scrollable transcript. */
:is(.fx185-messages,.v105-chat)>[data-lifecycle-proposal]{position:sticky;top:0;z-index:2;display:block!important;visibility:visible!important;opacity:1!important;flex-shrink:0;margin:0 0 16px;background:#edf4ff;box-shadow:0 4px 12px #17356414;max-height:55dvh;overflow-y:auto}
[data-lifecycle-proposal] [data-chat-visit-accept]{display:block!important;visibility:visible!important;width:100%;min-height:48px;background:#087f68;color:#fff;border-color:#087f68;font-weight:800}
[data-lifecycle-proposal] [data-chat-visit-accept]:focus-visible{outline:3px solid #1769ff;outline-offset:3px}
.proposal-reservation-note{padding:10px;border-radius:8px;background:#fff8e8;color:#794c0c;font-size:13px;line-height:1.5}
[data-proposal-countdown]{font-variant-numeric:tabular-nums;white-space:nowrap}
.visit-lifecycle .visit-second-option{margin:12px 0;border:0;background:transparent}
.visit-lifecycle .visit-second-option>summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed #b7cdef;border-radius:10px;background:#f5f9ff;color:#164ca5;font-weight:800;cursor:pointer;list-style:none}
.visit-lifecycle .visit-second-option>summary::-webkit-details-marker{display:none}
.visit-lifecycle .visit-second-option>summary::before{content:'+';font-size:20px}
.visit-lifecycle .visit-second-option[open]>summary::before{content:'−'}
.visit-lifecycle .visit-second-option>summary:focus-visible{outline:3px solid #2463eb;outline-offset:3px}
.visit-lifecycle .visit-second-option>small{display:block;margin:10px 0;color:#60749a;line-height:1.5}
.visit-lifecycle .visit-proposal-alert{margin:14px 0;padding:14px;border:1px solid #a9c8ff;border-left:4px solid #1769ff;border-radius:12px;background:#edf4ff;color:#173564}
.visit-lifecycle .visit-proposal-alert>strong{display:block;font-size:16px;line-height:1.4}
.visit-lifecycle .visit-proposal-alert>p{margin:8px 0;font-size:13px;line-height:1.5}
.visit-lifecycle .visit-proposal-alert>button{width:100%;min-height:48px;border:0;border-radius:10px;background:#1769ff;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.visit-lifecycle .visit-proposal-alert>button:focus-visible{outline:3px solid #173564;outline-offset:3px}
.visit-lifecycle .visit-proposal-pending>summary{border:1px solid #a9c8ff;color:#164ca5;font-weight:800}
.visit-lifecycle .visit-rebook-notice{margin:12px 0;padding:12px;border-left:3px solid #d97706;background:#fff8ed;border-radius:8px}
.visit-lifecycle .visit-rebook-notice>strong{display:block;color:#874409}
.visit-lifecycle .visit-rebook-notice>p{margin:8px 0;line-height:1.5}
.visit-lifecycle .visit-rebook-notice>button{width:100%;min-height:44px;background:#1d4ed8;color:#fff;border:0;border-radius:10px;font-weight:800}
.visit-lifecycle .visit-rebook-notice>small{display:block;margin-top:8px;line-height:1.5}
.visit-work-date{padding:10px 12px;border:1px solid #bbcee7;border-radius:12px;background:#f2f6fc;color:#244f82;font-weight:700}
.visit-work-date input[type=date]{border-color:#9fbce0!important;background:#fff!important;font-weight:600}
.visit-work-date:focus-within{border-color:#3976c6;box-shadow:0 0 0 2px #3976c619}
#pro-agenda .fx221-event.agenda-completed,#pro-agenda .fx221-week-event.completed{border-left:3px solid #78a99c!important;background:#f4f8f6!important}
#pro-agenda .agenda-completed .fx221-main,#pro-agenda .agenda-completed .fx221-time{background:#f4f8f6!important}
#pro-agenda .fx221-chip.completed{color:#386a5b!important;background:#e5f0eb!important;border-color:#cddfd6!important}
