body{background:#f8f7f1;font:16px/1.5 system-ui;color:#213f35}.care-shell{max-width:1080px;margin:18px auto;padding:0 22px;min-height:0;height:calc(100dvh - 80px);display:flex;flex-direction:column}.care-header{background:transparent;border:0;padding:8px 0 18px;gap:18px;flex-wrap:nowrap}.care-brand img{width:130px;height:auto;display:block}.care-header h1{font-size:22px;letter-spacing:-.5px;margin:0}.care-header>div{flex:1}.care-header>a:last-child{font-size:14px}#care-account{font-size:12px;color:#5d7266}.care-tabs{display:flex;gap:6px;padding:0 0 12px}.care-tabs button{flex:1;font-size:14px;min-height:44px;padding:8px;border:1px solid #c3d5ca;background:#fff}.care-tabs [aria-current=step]{background:#205f50;color:white}.care-tabs .new-details{box-shadow:0 0 0 2px #6eb5d8}.care-pane{flex:1;min-height:0;background:white;border:1px solid #d6e0d7;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.care-pane[hidden]{display:none}.care-scroll{padding:26px;overflow:auto;min-height:0}.care-scroll h2{font-size:24px}#care-chat{flex:1;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:22px;scroll-padding-bottom:20px}.care-bubble{max-width:80%;padding:14px 18px;margin:0 0 18px;border-radius:16px;background:#edf4f9;white-space:pre-wrap;overflow-wrap:anywhere;color:#205375}.care-bubble strong{display:block;font-size:12px;margin-bottom:6px}.care-bubble.user{margin-left:auto;background:#e9f1e9;color:#213f35}.care-composer{padding:12px 18px;border-top:1px solid #e0e8e2;background:#fff;flex-shrink:0}#care-replies{display:flex;gap:7px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}#care-replies:empty{display:none}#care-replies button{white-space:nowrap;font-size:12px;padding:6px 11px;min-height:36px;border:1px solid #bdced6;border-radius:20px;background:#f1f6fa;color:#285b74;flex:0 0 auto}.care-consent{font-size:12px;margin-bottom:8px;max-height:150px;overflow:auto}.care-consent summary{cursor:pointer;padding:4px 0;color:#456252}.care-consent p{margin:6px 0}.care-consent label{display:block}.care-consent button{font-size:12px;min-height:36px;margin-top:8px}.care-consent input{width:auto}#care-send{display:flex;align-items:flex-end;gap:8px}#care-message{flex:1;min-width:0;resize:none;border:1px solid #b6c9bd;border-radius:16px;padding:12px;font:16px/1.4 system-ui;max-height:120px;margin:0}#care-send-button{width:46px;height:46px;min-width:46px;padding:0;border-radius:50%;font-size:25px;background:#205f50}.care-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#697a70;margin-top:7px}.care-bottom button{border:0;background:none;padding:3px;min-height:30px;font-size:12px}.care-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.care-fields label,.care-notes{display:flex;flex-direction:column;font-size:14px;gap:5px;margin-bottom:12px}.care-fields input,.care-fields select,.care-notes textarea{font:16px system-ui;padding:10px;border:1px solid #bccfc3;border-radius:8px;width:100%;min-height:44px}.care-notes textarea{min-height:100px}.care-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.care-results-grid article{padding:20px;border:1px solid #d6e1d9;border-radius:16px;min-width:0}.care-results-grid h3{font-size:20px}.care-results-grid .note{font-size:14px;padding:12px}.care-results-grid h4{margin:12px 0 4px}.care-results-grid ul{padding-left:20px}.care-results-grid a,.care-results-grid button{font-size:14px}.care-kicker{color:#36697c;font-size:12px;font-weight:700}.care-results-grid .note h3{font-size:16px}#care-status:not(:empty){background:#fff0d6;border-radius:8px;padding:9px 14px;font-size:14px;margin-bottom:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.keyboard-open #care-replies,.keyboard-open .care-consent,.keyboard-open .care-bottom{display:none}@media(max-width:740px){.care-shell{height:calc(100dvh - 78px);margin:6px auto;padding:0 9px}.care-header{gap:8px;padding:5px 2px 10px}.care-brand img{width:84px}.care-header h1{font-size:16px}.care-header>a:last-child{font-size:12px}.care-tabs{gap:4px;padding-bottom:7px}.care-tabs button{font-size:12px;padding:5px}.care-pane{border-radius:12px}.care-scroll{padding:16px}.care-scroll h2{font-size:21px}#care-chat{padding:14px}.care-bubble{max-width:94%;font-size:15px;padding:11px 13px;margin-bottom:14px}.care-composer{padding:9px}.care-fields,.care-results-grid{grid-template-columns:1fr}.care-consent{font-size:11px}.care-bottom{font-size:10px}.care-results-grid article{padding:16px}}
/* Override the shared mobile navigation ordering inside this focused workspace. */
.care-tabs{order:0;flex-shrink:0;flex-wrap:nowrap;width:auto}
@media(max-width:740px){.care-shell{height:calc(100dvh - 90px)}}

/* Passport-derived Care notes are displayed as a compact, editable table. */
.care-notes{display:flex;flex-direction:column;gap:7px;margin:10px 0 14px;font-size:14px}
.care-notes-title{font-size:14px;font-weight:750}
.care-notes-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;line-height:1.4}
.care-notes-table th,.care-notes-table td{padding:7px 9px;border:1px solid #d6e1d9;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.care-notes-table th{width:34%;background:#f1f6f1;font-weight:700}
.care-notes-table td{font-weight:400}
.care-notes-empty{margin:0;padding:8px 10px;border:1px solid #d6e1d9;border-radius:7px;color:#697a70;font-size:13px}
.care-notes-editor{margin-top:2px}
.care-notes-editor summary{cursor:pointer;color:#205f50;font-size:13px;font-weight:650;min-height:36px;display:flex;align-items:center}
.care-notes-editor textarea{margin-top:5px}
@media(max-width:740px){.care-notes-table{font-size:12px}.care-notes-table th,.care-notes-table td{padding:6px 7px}.care-notes-table th{width:38%}}

.care-reply-guidance{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px;padding:7px 10px;border-left:3px solid #4c8a6f;border-radius:6px;background:#edf5ef;color:#315c47;font-size:12px}.care-reply-guidance strong{font-size:13px}.care-reply-guidance span{color:#53695d;font-size:11px}.care-reply-guidance[hidden]{display:none}.keyboard-open .care-reply-guidance{display:none}

.care-ai-gate{padding:10px 12px;margin-bottom:9px;border:1px solid #78a9c5;border-left:4px solid #347ca2;border-radius:10px;background:#eef6fc;font-size:12px;line-height:1.4}.care-ai-gate p{margin:4px 0 7px}.care-ai-gate label{display:flex;align-items:center;gap:8px;font-weight:650;cursor:pointer;min-height:32px}.care-ai-gate input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#205f50}.care-ai-gate .care-consent-instruction{font-size:11px;margin-bottom:0}.care-ai-gate.agreed{padding:3px 8px;background:#f0f6ef;border-color:#c8d8cc;border-left-width:1px}.care-ai-gate.agreed .care-consent-explanation{display:none}.keyboard-open .care-ai-gate.agreed{display:none}#care-send-button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:740px){.care-ai-gate{font-size:11px;padding:8px 10px}.care-ai-gate label{font-size:12px}.care-ai-gate.agreed{padding:0 6px}}

/* Keep every suggestion reachable without adding a tall mobile panel. */
.care-composer,.care-pane{min-width:0}
.care-reply-navigation{display:flex;align-items:center;gap:5px;min-width:0;margin-bottom:5px}
.care-reply-navigation[hidden]{display:none}
#care-replies{flex:1;min-width:0;scroll-snap-type:x proximity;padding:2px 1px 5px}
#care-replies button{white-space:normal;overflow-wrap:anywhere;max-width:min(320px,100%);line-height:1.3;scroll-snap-align:start;min-height:40px;text-align:left}
#care-replies-prev,#care-replies-next{flex:0 0 36px;width:36px;height:40px;padding:0;border:1px solid #bdced6;border-radius:12px;background:#f1f6fa;color:#285b74;font-size:24px;line-height:1}
#care-replies-prev:disabled,#care-replies-next:disabled{opacity:.35;cursor:default}
#care-replies-prev[hidden],#care-replies-next[hidden]{display:none}
.keyboard-open .care-reply-navigation{display:none}
@media(max-width:740px){#care-replies button{font-size:12px;max-width:min(250px,100%)} }

/* Agreement remains session-scoped; reclaim chat space once accepted. */
.care-ai-gate.agreed{display:none}

#care-replies .care-use-passport{background:#e5f2e8;border-color:#6d9c83;color:#205f50}
#care-passport-dialog{box-sizing:border-box;width:min(560px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:1px solid #a9c5b4;border-radius:16px;padding:20px;color:#203f35}
#care-passport-dialog::backdrop{background:rgb(16 39 31 / .45)}
#care-passport-dialog h2{font-size:20px;margin-top:0}
#care-passport-dialog p{font-size:13px;line-height:1.5}
#care-passport-reply-fields label{display:block;font-size:13px;font-weight:600;margin:12px 0}
#care-passport-reply-fields textarea{box-sizing:border-box;display:block;width:100%;font:16px/1.4 system-ui;padding:9px;border:1px solid #b6c9bd;border-radius:10px;margin-top:5px}
.care-passport-reply-actions{display:flex;justify-content:flex-end;gap:8px}
.care-passport-reply-actions button{min-height:44px;padding:8px 14px;border-radius:10px;border:1px solid #91b19e}

.care-fact{border:1px solid #d6e0d7;border-radius:10px;padding:10px;margin:10px 0;background:#f8faf7}
.care-fact label{margin:0!important}
.care-fact-remove{font-size:12px;padding:6px 10px;margin-top:7px;background:white;border:1px solid #b6c9bd;border-radius:8px;min-height:36px}
.care-fact.removed{background:#f4f4f1}.care-fact.removed button{margin:0}

.care-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding-top:8px}
.care-bottom>span{font-size:10px;line-height:1.3;grid-column:1;min-width:0}
#care-reset{grid-column:2;justify-self:center;min-height:40px;font-size:11px;padding:6px 10px;border:1px solid #d6e0d7;border-radius:8px;background:#f8faf7;color:#52685c}

.care-entry{background:white;border:1px solid #c3d5ca;border-radius:18px;padding:28px;overflow:auto;min-height:0}
.care-entry[hidden],.care-tabs[hidden]{display:none}
.care-entry h2{font-size:25px;margin:0 0 12px}.care-entry p{max-width:650px}
.care-entry-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 14px}
.care-entry-actions>a,.care-entry-actions>button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:10px 16px;border:1px solid #a8c1b2;border-radius:10px;font:600 14px/1.4 system-ui;text-decoration:none}
@media(max-width:740px){.care-entry{padding:20px}.care-entry h2{font-size:22px}.care-entry-actions{flex-direction:column}.care-entry-actions>*{width:100%}}

/* Match Passport Agent's side-by-side workbench: conversation and editable care request stay visible together. */
.care-shell{max-width:1320px}
.care-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:14px;flex:1;min-height:0;overflow:hidden}
.care-workspace[hidden]{display:none}
.care-workspace>.care-pane{min-width:0;height:100%;min-height:0}
#care-review-pane .care-scroll{padding:20px 22px}
#care-review-pane h2{font-size:21px;margin:0 0 8px}
#care-review-pane p{font-size:13px;line-height:1.45;margin:8px 0}
#care-review-pane .care-preview-promise{padding:9px 11px;border-left:3px solid #3b83ad;background:#eef6fc;border-radius:6px}
.care-account-prompt{margin:14px 0 8px;padding:12px 14px;border:1px solid #c5d9cb;border-radius:12px;background:#f2f7ef}
.care-account-prompt h3{margin:0 0 5px;font-size:15px;line-height:1.35;color:#245846}
#care-review-pane .care-account-prompt p{margin:0;font-size:12px;line-height:1.5;color:#4b6256}
#care-review-pane .care-fields{grid-template-columns:1fr;gap:0}
#care-review-pane .care-fields label,#care-review-pane .care-notes{font-size:13px;font-weight:700;margin-bottom:9px}
#care-review-pane .care-fields input,#care-review-pane .care-fields select,#care-review-pane .care-notes textarea{font-size:14px;min-height:40px;padding:8px}
#care-review-pane .care-notes textarea{min-height:72px}
#care-review-pane details{font-size:13px}
#care-review-pane details summary{cursor:pointer;font-weight:650}
#care-review-pane #care-explore{width:100%;min-height:46px;margin-top:8px}
.care-readiness{padding:10px 12px;margin:10px 0;border:1px solid #c8d9cf;border-radius:10px;background:#f4f8f2}
.care-readiness ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin:7px 0;padding:0;list-style:none}
.care-readiness li{font-size:12px;line-height:1.35;color:#79542e}
.care-readiness li.ready{color:#24624f}
.care-readiness-status{font-weight:600}
@media(max-width:740px){.care-readiness ul{grid-template-columns:1fr}}
.care-workspace.review-focus{grid-template-columns:minmax(0,1fr)}
.care-workspace.review-focus #care-review-pane{max-width:900px;width:100%;margin-inline:auto}
@media(max-width:900px) and (min-width:741px){.care-shell{padding-inline:14px}.care-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:10px}#care-review-pane .care-scroll{padding:16px}}
@media(max-width:740px){.care-shell{max-width:680px}.care-workspace{display:flex;flex-direction:column;gap:0}.care-workspace>.care-pane{height:auto;flex:1;min-height:0}.care-workspace #care-review-pane{max-width:none;width:auto;margin:0}.care-workspace.review-focus{display:flex}.care-workspace.review-focus #care-review-pane{max-width:none}.care-workspace #care-chat-pane{min-height:0}.care-workspace #care-review-pane .care-scroll{padding:16px}}

/* Keep the conversation readable and visibly acknowledge each assistant turn. */
#care-chat .care-bubble{font-size:14px;line-height:1.45;padding:11px 14px;margin-bottom:12px}
#care-chat .care-bubble strong{font-size:11px;margin-bottom:4px}
.care-processing-row{display:flex;align-items:center;gap:9px;width:max-content;max-width:84%;margin:0 0 12px 2px;padding:8px 12px;border:1px solid #d6e0d7;border-radius:14px;background:#f4f7f1;color:#52685c;font-size:13px;line-height:1.3}
.care-thinking-dog{display:inline-block;flex:none;font-size:23px;line-height:1;transform-origin:50% 85%;animation:care-dog-trot .65s ease-in-out infinite}
@keyframes care-dog-trot{0%,100%{transform:translateY(0) rotate(-5deg)}25%{transform:translateY(-4px) rotate(3deg)}50%{transform:translateY(0) rotate(5deg)}75%{transform:translateY(-3px) rotate(-3deg)}}
@media(max-width:740px){#care-chat .care-bubble{font-size:14px;padding:10px 12px;margin-bottom:10px}.care-processing-row{font-size:12px;padding:7px 10px}}
#care-chat .care-bubble.update{margin-left:auto;margin-right:0;background:#edf6ee;color:#315d45;border:1px solid #c8ddcd;font-size:13px}
.care-next-step{width:min(460px,100%);margin:0 0 16px 2px;padding:12px 14px;border:1px solid #c3d5ca;border-radius:12px;background:#f6faf5}
.care-next-check>p{margin:0 0 10px;color:#315c47;font-size:13px;line-height:1.45}
.care-next-actions{display:flex;flex-wrap:wrap;gap:8px}
.care-next-actions button{min-height:42px;padding:8px 12px;border:1px solid #6d9e83;border-radius:9px;background:#e8f2e9;color:#205f50;font:600 13px/1.3 system-ui;cursor:pointer}
.care-next-actions button:first-child{background:#205f50;color:#fff}
.care-chat-action{display:block;width:max-content;max-width:100%;min-height:44px;margin:0;padding:9px 16px;border:1px solid #6d9e83;border-radius:10px;background:#e8f2e9;color:#205f50;font:600 14px/1.3 system-ui;cursor:pointer}
.care-chat-action:hover{background:#dcecdf}
.care-next-step p{margin:8px 0 0;color:#52685c;font-size:12px;line-height:1.45}.care-next-check>p{margin:0 0 10px;color:#315c47;font-size:13px;line-height:1.45}
@media(max-width:740px){.care-next-actions button{flex:1 1 150px}}
@media(prefers-reduced-motion:reduce){.care-thinking-dog{animation:none}}

.care-passport-choices{align-items:stretch}
.care-choice-card{flex:1 1 260px;min-width:0;padding:14px;border:1px solid #c3d5ca;border-radius:12px;background:#f8faf7}
.care-choice-card>button{width:100%;min-height:46px}
.care-choice-card>p{margin:9px 0 0;font-size:13px;line-height:1.45;color:#52685c}
@media(max-width:740px){.care-passport-choices{gap:10px}.care-choice-card{flex-basis:auto;padding:12px}.care-choice-card>p{font-size:12px}}

/* Town choices are available in the Agent step as well as the editable request. */
.care-town-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:end;margin:5px 0 9px;padding:10px 12px;border:1px solid #c5d9cb;border-radius:10px;background:#f5f9f4;color:#315c47;font-size:12px}
.care-town-picker[hidden]{display:none}
.care-town-picker>strong{grid-column:1/-1;font-size:13px}
.care-town-picker>p{grid-column:1/-1;margin:0;color:#53695d;font-size:11px;line-height:1.4}
.care-town-picker>label{grid-column:1/-1;font-size:11px;font-weight:600}
.care-town-picker select,.care-town-picker input{box-sizing:border-box;grid-column:1/-1;width:100%;min-height:40px;padding:8px 10px;border:1px solid #b6c9bd;border-radius:8px;background:#fff;color:#213f35;font:14px system-ui}
.care-town-picker button{grid-column:1/-1;justify-self:start;min-height:40px;padding:8px 12px;border:1px solid #6d9e83;border-radius:8px;background:#e8f2e9;color:#205f50;font:600 12px/1.3 system-ui}
#care-review [name="cityCustom"][hidden]{display:none}
