.solap-chat{display:flex;flex-direction:column;position:sticky;top:0;align-self:flex-start;flex-shrink:0;height:100vh;height:100dvh;min-width:0;gap:0;background:#fff;color:#204b34;border-left:1px solid #b2cfbe;font-size:14px}.solap-chat[hidden]{display:none}.solap-chat-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 22px 16px;border-bottom:1px solid #cce1d4}.solap-chat-heading h2{display:flex;align-items:center;gap:9px;font-size:23px;color:#07512c;font-weight:700}.solap-chat-heading p{margin-top:6px;color:#5d7f6a}.chat-icon{padding:7px;border-radius:50%;background:#eff7f2}.solap-chat-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;background:#f1f8f4;font-size:12px;color:#53745f}.solap-chat-toolbar button{display:flex;align-items:center;gap:5px;color:#126b3d}.solap-chat-messages{flex:1;overflow-y:auto;padding:22px;min-height:0}.chat-welcome h3{font-size:21px;font-weight:650;margin:8px 0}.chat-welcome p{color:#5b7865;line-height:1.6;margin-bottom:20px}.chat-welcome>button{display:block;width:100%;text-align:left;border:1px solid #c4ddce;border-radius:9px;padding:12px 14px;margin:9px 0;background:#f6faf7}.chat-welcome>button:hover{background:#e3f0e8}.chat-connection{border:1px solid #d9ce9d;background:#fffbed;border-radius:9px;padding:14px;margin-bottom:20px;color:#665620}.chat-connection p{margin-top:6px;font-size:13px;line-height:1.5}.chat-turn{margin-bottom:24px}.chat-question{background:#e9f3ed;border-radius:12px 12px 3px 12px;padding:12px 15px;margin-left:32px}.chat-question p,.chat-answer p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin:4px 0}.chat-turn small{font-weight:700;color:#43634f}.chat-answer{padding:16px 0 0}.chat-sources{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.chat-sources span{font-size:11px;background:#f1f6f3;border:1px solid #d6e7dd;border-radius:5px;padding:4px 7px}.chat-progress{display:flex;gap:8px;align-items:center;color:#4b765c}.chat-error{background:#fff2ee;color:#8a3526;padding:12px;border-radius:8px;margin-top:15px}.chat-error button{display:block;text-decoration:underline;margin-top:7px}.solap-chat-compose{padding:15px 22px 12px;border-top:1px solid #d5e6db}.solap-chat-compose>label{display:block;font-weight:600;margin-bottom:6px}.solap-chat-compose>div{display:flex;align-items:flex-end;gap:8px}.solap-chat-compose textarea{width:100%;resize:vertical;max-height:160px;border:1px solid #abcdb8;border-radius:9px;padding:10px 12px;background:white;font:inherit;line-height:1.5}.chat-send{background:#146b3d;color:#fff;padding:13px;border-radius:9px;margin-bottom:1px}.solap-chat button:disabled{opacity:.45;cursor:default}.solap-chat-compose>small{display:block;font-size:10px;color:#6a8271;margin-top:5px}.solap-chat-budget{padding:11px 22px 15px;background:#f5f9f6;display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px;font-size:11px}.solap-chat-budget strong{font-variant-numeric:tabular-nums}.solap-chat-budget small{flex-basis:100%;color:#6b8071;font-size:10px}@media(max-width:600px){.solap-chat-heading,.solap-chat-messages{padding:16px}.solap-chat-compose{padding:12px 16px}.solap-chat-heading h2{font-size:21px}}
.solap-chat-toolbar>div{display:flex;align-items:center;gap:16px}.solap-chat-toolbar{gap:8px;flex-wrap:wrap}.solap-chat-toolbar button[aria-pressed=true]{font-weight:700}.chat-current-conversation{padding:10px 22px;border-bottom:1px solid #e0ece4;display:flex;flex-direction:column;gap:3px;min-width:0}.chat-current-conversation strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-current-conversation span{font-size:11px;color:#65816e}.chat-conversations{flex:1;min-height:0;overflow-y:auto;padding:20px 22px}.chat-conversations h3{font-size:20px;font-weight:700}.chat-conversations>p{font-size:13px;line-height:1.5;color:#597461;margin:8px 0 18px}.chat-conversation{display:block;text-align:left;width:100%;border:1px solid #b9d7c5;border-radius:9px;margin:9px 0;padding:13px 14px;background:#fff}.chat-conversation strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.chat-conversation span{display:block;font-size:11px;color:#607e6a;margin-top:5px}.chat-conversation:hover{background:#edf6f0}.chat-conversation[aria-current=true]{border:2px solid #358259;background:#edf6f0;padding:12px 13px}.chat-history-more{display:block;margin:0 auto 16px;padding:8px 14px;border:1px solid #b9d7c5;border-radius:7px;color:#126b3d;font-size:13px}.chat-history-more:hover{background:#edf6f0}.chat-panel-error{margin:0 16px 12px;max-height:140px;overflow:auto}.solap-chat button:focus-visible{outline:2px solid #278d51;outline-offset:3px}.solap-chat-compose textarea:read-only{background:#f8faf9}@media(max-width:600px){.solap-chat-toolbar{padding:10px 16px}.solap-chat-toolbar>div{gap:12px}.chat-current-conversation,.chat-conversations{padding-left:16px;padding-right:16px}}
.chat-memory{flex:1;min-height:0;overflow:auto;padding:20px 22px;font-size:14px}.chat-memory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-memory h3{font-size:21px;font-weight:700;color:#07512c}.chat-memory>p{line-height:1.6;margin:10px 0 16px;color:#53745f}.chat-memory-back{font-size:13px;text-decoration:underline}.chat-memory-tip{padding:12px;border-radius:8px;background:#edf6f0;border:1px solid #c1dfcd;line-height:1.6}.chat-memory-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 12px}.chat-memory-actions>span{font-size:12px;color:#607e6a}.chat-memory-actions>button,.chat-memory-editor button{display:flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #8eb69e;border-radius:7px}.chat-memory-editor{padding:14px;border:2px solid #75aa88;border-radius:9px;background:#f5faf7;margin:14px 0}.chat-memory-editor label,.chat-memory-search{display:block;font-weight:600}.chat-memory-editor textarea,.chat-memory-search input{display:block;width:100%;padding:10px;margin:8px 0;border:1px solid #abcdb8;border-radius:7px;background:white;line-height:1.5;font:inherit}.chat-memory-editor textarea{resize:vertical;min-height:100px;max-height:230px}.chat-memory-editor small{font-size:12px;color:#64816f}.chat-memory-editor>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chat-memory-editor .chat-memory-save{background:#146b3d;color:white;border-color:#146b3d}.chat-memory-notice{border-left:3px solid #237748;padding:9px 12px;background:#eef7f1}.chat-memory-item{border:1px solid #b9d7c5;border-radius:9px;padding:13px 14px;margin:10px 0;background:white}.chat-memory-item>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:0}.chat-memory-item-footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px;gap:12px}.chat-memory-item-footer small{font-size:12px;color:#64816f}.chat-memory-item-footer>div{display:flex;gap:7px}.chat-memory-item-footer button{padding:7px;border:1px solid #b9d7c5;border-radius:6px;color:#126b3d}.chat-memory-item-footer button:hover{background:#e3f0e8}.chat-memory-delete{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px;margin-top:9px;border-top:1px solid #dde8e1}.chat-memory-delete button{padding:5px 8px;border:1px solid #b9d7c5;border-radius:5px}.chat-memory-delete button:first-of-type{color:#a33f2f}.chat-memory-empty{margin:24px 0;padding:18px 0;line-height:1.7;color:#607e6a}.chat-memory-search{font-size:13px;margin-top:16px}.chat-memory>.chat-memory-footnote{font-size:12px;margin-top:20px;color:#6c8273}.solap-chat-toolbar>div{flex-wrap:wrap;gap:12px}.solap-chat-toolbar>span{font-size:11px}@media(max-width:600px){.chat-memory{padding:16px}.solap-chat-toolbar>div{gap:10px}}

/* The chat occupies its own column; only its transcript scrolls. */
.solap-chat>*{flex-shrink:0}.solap-chat .solap-chat-messages,.solap-chat .chat-conversations,.solap-chat .chat-memory{flex:1;min-height:0;overscroll-behavior:contain}.solap-chat-heading{padding:18px 18px 14px;gap:10px}.solap-chat-heading h2{font-size:20px;line-height:1.35}.solap-chat-heading p{font-size:13px;line-height:1.5}.solap-chat .chat-icon{flex-shrink:0}.chat-resize-handle{position:absolute;left:-5px;top:0;bottom:0;width:10px;z-index:5;cursor:col-resize;touch-action:none;display:flex;align-items:center;justify-content:center}.chat-resize-handle span{display:block;width:3px;height:42px;border-radius:3px;background:#8aaf98}.chat-resize-handle:hover,.chat-resize-handle:focus-visible{background:#b5d7c3;outline:2px solid #27734b;outline-offset:-2px}.chat-resize-handle:active{background:#8bbb9e}.solap-chat .solap-chat-toolbar{padding:10px 18px}.solap-chat .solap-chat-toolbar>div{gap:10px}.has-chat .main-area{container-type:inline-size;container-name:solap-main}.has-chat .workspace{padding-left:22px;padding-right:22px}.has-chat .topbar{padding-left:22px;padding-right:22px}.rail-note[aria-expanded=true]{color:#fff;background:#245940;border-radius:8px}.solap-chat .chat-panel-error{flex-shrink:1}
@container solap-main (max-width:850px){.workspace .bill-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace .bill-heading{flex-wrap:wrap;align-items:flex-start}.workspace .page-heading{flex-wrap:wrap;gap:16px}.workspace .relation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace .relation-stats .relation-total{grid-column:1/-1}.workspace .toolbar{flex-wrap:wrap}.workspace .toolbar .search-box{flex-basis:100%;min-width:0}.workspace .client-header{grid-template-columns:minmax(0,1fr);gap:12px}.workspace .client-header-credentials{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace .client-directory-heading>div{grid-template-columns:1fr}.workspace .client-directory-heading>div>span:last-child{display:none}.workspace .client-list-controls>.list-pagination{flex-basis:100%;min-width:0}}
@media(max-width:1023px){.solap-chat{position:fixed;inset:0;z-index:80;width:100%!important;border:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.has-chat .workspace{padding-left:16px;padding-right:16px}.solap-chat .solap-chat-compose textarea{font-size:16px}.solap-chat .solap-chat-heading{padding:16px}.solap-chat .solap-chat-budget{padding-bottom:10px}}

@media(max-width:650px){.rail #solap-chat-toggle{display:flex;margin-top:12px;align-items:center;padding:8px 10px;border:1px solid #58836c;border-radius:8px}.rail #solap-chat-toggle br,.rail #solap-chat-toggle small{display:none}}

@container solap-main (max-width:650px){.workspace .credential-compact{grid-template-columns:minmax(0,1fr);gap:4px}.workspace .credential-compact .credential-actions{grid-column:1;grid-row:2;justify-content:flex-start}.workspace .credential-compact.is-empty .credential-mask,.workspace .credential-compact dd.credential-value{grid-column:1;grid-row:3}.workspace .client-header-credentials{gap:12px}.workspace .client-header-representative{grid-template-columns:minmax(0,1fr)}}
/* Portal host integration; the interaction styling above matches Solap Admon. */
.solap-chat{position:fixed;right:0;top:0;z-index:90;margin:0;box-sizing:border-box;text-align:left}.solap-chat h2,.solap-chat h3,.solap-chat p{letter-spacing:normal}.solap-chat h2{margin:0}.solap-chat button{font:inherit;cursor:pointer;color:inherit}.solap-chat-toolbar button,.solap-chat-heading>button{background:transparent;border:0}.solap-chat .chat-send{background:#146b3d;color:white}.solap-chat button:disabled{cursor:default}.solap-chat textarea,.solap-chat input{box-sizing:border-box}.solap-chat .solap-chat-budget{position:static;margin:0;width:auto;max-width:none;border:0;flex-shrink:0;line-height:1.5}.solap-chat .solap-chat-budget small{display:block}.chat-toggle{position:fixed;bottom:24px;right:24px;z-index:60;padding:13px 18px;border:1px solid #207342;border-radius:30px;background:#146b3d;color:white;box-shadow:0 4px 20px #143d2925;font:600 14px inherit;cursor:pointer}.chat-toggle[hidden],.solap-chat [hidden]{display:none!important}.has-solap-chat{margin-right:var(--chat-width,440px)}.has-solap-chat .chat-toggle{right:calc(var(--chat-width,440px) + 20px)}.has-solap-chat .workspace{padding-left:24px;padding-right:24px}.solap-chat .chat-privacy{font-size:12px;margin-top:24px}.solap-chat .chat-memory-search input{margin-top:8px}.solap-chat .chat-connection{margin:12px 16px}.chat-mobile-open{overflow:hidden}.solap-chat .chat-resize-handle{box-sizing:border-box}.solap-chat .chat-send{font-size:22px;min-width:44px}.solap-chat .solap-chat-heading>button{font-size:20px;min-width:40px;min-height:40px}.solap-chat .solap-chat-compose label{font-size:13px}.solap-chat .solap-chat-compose textarea{min-height:64px}.solap-chat .solap-chat-messages{scroll-behavior:smooth}.solap-chat .chat-question{color:#214b34}.solap-chat .chat-memory-save{background:#146b3d;color:#fff}
@media(max-width:1023px){.solap-chat{width:100%!important;inset:0}.solap-chat .chat-resize-handle{display:none}.chat-toggle{right:16px;bottom:16px}.chat-mobile-open .chat-toggle{visibility:hidden}}
/* A visible entry point remains available when the owner closes the panel. */
.chat-toggle{padding:15px 22px;font-size:16px;font-weight:700;box-shadow:0 5px 22px #143d2938}
.has-solap-chat .chat-toggle{display:none}
.solap-chat .solap-chat-heading{background:#edf6ef;border-bottom-color:#b9d7c5}
.solap-chat .solap-chat-heading h2{font-size:23px}
@media(max-width:760px){.chat-toggle{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:14px 19px;font-size:15px}}

.chat-mobile-invitation{display:none}.chat-mobile-invitation[hidden]{display:none!important}
.has-chat-invitation>.chat-toggle,.solap-chat.chat-pinned .solap-chat-heading>button[data-chat="close"]{display:none}
@media(max-width:1023px){
 .has-chat-invitation{padding-bottom:calc(126px + env(safe-area-inset-bottom))}
 .chat-mobile-invitation{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:70;padding:12px;border:1px solid #91bba0;border-radius:12px;background:#eaf5ec;color:#164d32;box-shadow:0 6px 24px #143d2930}
 .chat-mobile-invitation>strong{display:block;font-size:16px;line-height:1.4}
 .chat-mobile-invitation>p{font-size:12px;line-height:1.5;margin:3px 0 10px}
 .chat-mobile-invitation>button{display:block;width:100%;min-height:72px;padding:18px 10px;border:0;border-radius:10px;background:#146b3d;color:#fff;font:inherit;font-size:clamp(12px,4.2vw,20px);font-weight:750;letter-spacing:-.2px;line-height:1.3;white-space:nowrap;cursor:pointer}
 .chat-mobile-invitation>button:focus-visible{outline:3px solid #367d51;outline-offset:3px}
 .chat-mobile-open>.chat-mobile-invitation{display:none}
}

/* Keep the writing area visible alongside the conversation. */
.solap-chat .solap-chat-heading h2{align-items:flex-start;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.solap-chat-heading .chat-icon{flex-shrink:0;padding:2px 4px}.solap-chat .solap-chat-compose{flex-shrink:0;background:#07512c;border-top:4px solid #75cb90;padding-top:18px;padding-bottom:16px;box-shadow:0 -5px 18px #123e2820}.solap-chat .solap-chat-compose>label{font-size:20px;line-height:1.4;font-weight:750;color:#fff;margin-bottom:10px}.solap-chat .solap-chat-compose textarea{min-height:110px;border:3px solid #9cdeb0;background:#fff;box-shadow:0 3px 12px #00251440;padding:14px;outline-offset:2px}.solap-chat .solap-chat-compose textarea::placeholder{color:#33573e;font-weight:600;opacity:1}.solap-chat .solap-chat-compose textarea:focus-visible{border-color:#07512c;outline:3px solid #f3d479;box-shadow:0 0 0 3px #07512c}.solap-chat .solap-chat-compose>.chat-send,.solap-chat .solap-chat-compose .chat-send{background:#fff;color:#07512c;border:2px solid #9cdeb0;font-weight:700}.solap-chat .solap-chat-compose>small{color:#deeee3;font-size:11px;line-height:1.5}.solap-chat .solap-chat-compose .chat-send:focus-visible{outline:3px solid #f3d479;outline-offset:3px}@media(max-width:600px){.solap-chat .solap-chat-heading h2{font-size:20px}.solap-chat .solap-chat-compose textarea{min-height:96px}}

/* Dictation keeps the draft editable after the microphone stops. */
.solap-chat .solap-chat-compose textarea{min-width:0;flex:1}
.chat-compose-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0;width:52px}
.solap-chat .chat-dictate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:54px;padding:5px;border:2px solid #9cdeb0;border-radius:9px;background:#fff;color:#07512c;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.solap-chat .chat-dictate[aria-pressed=true]{background:#fff0eb;color:#982e1a;border-color:#ffb5a2}
.solap-chat .chat-dictate:focus-visible{outline:3px solid #f3d479;outline-offset:3px}
.solap-chat .chat-compose-actions .chat-send{min-height:44px;min-width:44px;margin:0;padding:8px}
.solap-chat .chat-voice-status{font-size:12px;line-height:1.4;color:#fff;margin:8px 0 0;overflow-wrap:anywhere}

/* Visible feedback stays above the composer while a question is in flight. */
.solap-chat .chat-progress{display:flex;align-items:center;gap:13px;margin:10px 16px 12px;padding:15px;border:2px solid #8ccda2;border-radius:12px;background:#edf9f0;color:#07512c;box-shadow:0 3px 14px #174e2920;flex-shrink:0}
.solap-chat .chat-progress>div{min-width:0}.solap-chat .chat-progress strong{display:block;font-size:16px;font-weight:750;line-height:1.4}.solap-chat .chat-progress p{margin:5px 0 0;font-size:13px;line-height:1.4;color:#285b3b}
.chat-progress-spinner,.chat-send-spinner{display:inline-block;box-sizing:border-box;border-radius:50%;border:3px solid #b7dfc3;border-top-color:#08733b;width:30px;height:30px;flex-shrink:0;animation:chat-progress-spin .85s linear infinite}
.chat-progress-dots{display:inline-flex;gap:3px;align-items:center;margin-left:6px;vertical-align:middle}.chat-progress-dots i{width:5px;height:5px;border-radius:50%;background:#08733b;animation:chat-progress-bounce 1.2s ease-in-out infinite}.chat-progress-dots i:nth-child(2){animation-delay:.16s}.chat-progress-dots i:nth-child(3){animation-delay:.32s}
.solap-chat .chat-send-spinner{width:21px;height:21px;border-width:2px;vertical-align:middle}.solap-chat .chat-pending-question{margin-bottom:8px}
@keyframes chat-progress-spin{to{transform:rotate(360deg)}}@keyframes chat-progress-bounce{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
@media(max-width:600px){.solap-chat .chat-progress{margin:8px 12px 10px;padding:12px;gap:10px}.solap-chat .chat-progress strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.chat-progress-spinner,.chat-send-spinner,.chat-progress-dots i{animation:none}.chat-progress-dots i{opacity:1;transform:none}}

/* Device speech is opt in for each answer. */
.chat-read-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.solap-chat .chat-read{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;max-width:100%;padding:8px 12px;border:1px solid #8cbb9e;border-radius:8px;background:#f0f8f3;color:#07512c;font:inherit;font-size:13px;font-weight:650;line-height:1.4;text-align:left}
.solap-chat .chat-read svg{flex-shrink:0}.solap-chat .chat-read:hover{background:#dfefe4}.solap-chat .chat-read[aria-pressed=true]{background:#07512c;color:white;border-color:#07512c}.solap-chat .chat-read:focus-visible{outline:3px solid #c9a64b;outline-offset:3px}
.solap-chat .chat-read-controls>p{flex-basis:100%;margin:3px 0 0;font-size:12px;line-height:1.5;color:#42634f;overflow-wrap:anywhere}
