/* Conversation-first NEO room, owned entirely by the VERTO platform. */
.neo-chat-mode { width:min(1280px,calc(100% - 40px)); max-width:none; height:min(900px,94dvh); max-height:94dvh; }
.neo-chat-mode .neo-shell { height:100%; max-height:none; display:block; }
.neo-chat-mode .neo-sidebar { display:none; }
.neo-chat-mode .neo-panel { padding:0; overflow:hidden; min-width:0; height:100%; }
.neo-chat-mode.neo-expanded { width:calc(100% - 24px); height:calc(100dvh - 24px); max-height:none; }
.neo-chat-mode .dialog-close { top:15px; right:16px; width:38px; height:38px; color:#274736; background:transparent; border:1px solid transparent; border-radius:8px; }
.neo-chat-mode .dialog-close:hover { background:#d5dccf; border-color:#a8b5a3; }
.chat-workspace { display:flex; flex-direction:column; height:100%; min-height:0; color:#20382f; background:#e8e7df; }
.chat-heading { display:flex; align-items:center; gap:10px; flex-shrink:0; min-height:68px; padding:10px 68px 10px 28px; border-bottom:1px solid #c2cabd; }
.chat-heading h2 { display:flex; align-items:baseline; gap:13px; margin:0; font-size:23px; line-height:1.2; letter-spacing:-.035em; }
.chat-heading h2 span { font-size:10px; font-weight:600; letter-spacing:.1em; }
.chat-header-actions { display:flex; gap:4px; align-items:center; margin-left:auto; }
.chat-tool { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; min-width:38px; padding:8px 10px; border:1px solid transparent; border-radius:8px; background:transparent; color:#274736; cursor:pointer; font:inherit; font-size:12px; font-weight:600; }
.chat-tool svg,.chat-send svg,.chat-attachment>svg,.chat-attached-text svg { flex-shrink:0; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.chat-tool:hover:not(:disabled) { background:#d5dccf; border-color:#a8b5a3; }
.chat-tool:disabled,.chat-send:disabled { opacity:.45; cursor:not-allowed; }
.chat-header-actions>.chat-tool span,.chat-composer-actions .chat-tool span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.chat-connection { display:flex; align-items:center; }
.chat-connection i { width:6px; height:6px; border-radius:50%; background:#877050; }
.chat-connection.is-ready i { background:#477f4d; }
.chat-menu,.chat-info { position:relative; }
.chat-menu summary,.chat-info summary { list-style:none; cursor:pointer; }
.chat-menu summary::-webkit-details-marker,.chat-info summary::-webkit-details-marker { display:none; }
.chat-menu[open]>summary { background:#d5dccf; }
.chat-menu-panel,.chat-info-panel { position:absolute; z-index:5; width:min(330px,calc(100vw - 60px)); right:0; border:1px solid #a8b5a3; border-radius:12px; background:#e2e6da; box-shadow:0 14px 45px #1e332e26; }
.chat-menu-panel { top:calc(100% + 10px); padding:14px; max-height:calc(100dvh - 130px); overflow:auto; }
.chat-menu-panel>.chat-tool,.chat-menu-pages .chat-tool { display:flex; width:100%; justify-content:flex-start; text-align:left; }
.chat-menu-pages { margin-top:8px; padding-top:8px; border-top:1px solid #b5c0af; }
.chat-menu-pages .chat-tool svg { margin-left:auto; width:15px; }
.chat-history { display:block; font-size:11px; margin-bottom:10px; }
.chat-history select { width:100%; margin-top:6px; min-height:40px; border:1px solid #acb9a8; border-radius:7px; padding:8px 25px 8px 10px; color:#294032; background:#edf0e6; font:inherit; font-size:12px; text-overflow:ellipsis; }
.chat-log { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:30px max(28px,calc((100% - 860px)/2)); scrollbar-width:thin; scrollbar-color:#acb9a8 transparent; }
.chat-welcome { display:grid; place-items:center; min-height:100%; text-align:center; }
.chat-welcome h3 { margin:0; font-size:clamp(24px,2.5vw,34px); font-weight:500; letter-spacing:-.04em; }
.chat-message { width:fit-content; max-width:95%; margin:0 0 25px; }
.chat-message.user { margin-left:auto; max-width:85%; }
.chat-message-meta { display:flex; align-items:center; gap:10px; margin-bottom:7px; font-size:11px; color:#50664f; }
.chat-message-meta time { opacity:.85; }
.chat-message.user .chat-message-meta { justify-content:flex-end; }
.chat-message-text { font-size:14px; line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-message.user .chat-message-text { background:#2e4b37; color:#f1f2e9; padding:12px 17px; border-radius:12px 12px 3px 12px; }
.chat-message.assistant { padding:0 0 2px 14px; border-left:2px solid #99b284; }
.chat-message-actions { display:flex; gap:3px; margin-top:6px; }
.chat-message-actions .chat-tool { min-width:34px; min-height:34px; padding:6px; }
.chat-message-actions svg { width:16px; height:16px; }
.chat-attached-text { font-size:11px; margin-top:8px; }
.chat-attached-text summary { display:flex; align-items:center; gap:6px; cursor:pointer; }
.chat-attached-text pre { white-space:pre-wrap; max-height:140px; overflow:auto; padding:12px; background:#dce2d5; border-radius:6px; font:inherit; overflow-wrap:anywhere; }
.chat-thinking { display:flex; align-items:center; gap:10px; font-size:12px; color:#4b6348; padding:8px 0; }
.chat-thinking-dots { display:flex; gap:4px; }
.chat-thinking i { width:6px; height:6px; border-radius:50%; background:#547442; animation:neo-breathe 1.3s infinite alternate; }
.chat-thinking i:nth-child(2) { animation-delay:.2s; }.chat-thinking i:nth-child(3) { animation-delay:.4s; }
@keyframes neo-breathe { to { opacity:.25; } }
.chat-error,.chat-warning { border:1px solid #b19376; background:#e7dac9; padding:10px 12px; border-radius:8px; font-size:12px; color:#684128; }
.chat-error p { margin:0 0 5px; }
.chat-bottom { padding:0 max(28px,calc((100% - 860px)/2)) 12px; flex-shrink:0; }
.chat-feedback { font-size:11px; color:#536346; margin-bottom:6px; }
.chat-feedback:empty { display:none; }
.chat-composer { border:1px solid #9bad91; border-radius:14px; background:#f0f0e6; box-shadow:0 5px 20px #2544300a; overflow:hidden; }
.chat-composer:focus-within { border-color:#4f7542; box-shadow:0 0 0 2px #8caa7160; }
.chat-composer textarea { display:block; resize:none; width:100%; min-height:62px; max-height:160px; padding:12px 15px 4px; border:0; outline:0; box-shadow:none; background:transparent; color:#213c2c; font:inherit; font-size:14px; line-height:1.6; }
.chat-composer textarea::placeholder { color:#69775f; opacity:1; }
.chat-composer-actions { display:flex; align-items:center; justify-content:space-between; padding:3px 8px 8px; gap:8px; }
.chat-composer-actions>div { display:flex; align-items:center; gap:2px; }
.chat-count { font-size:9px; color:#607052; margin-left:4px; }
.chat-send { display:flex; align-items:center; gap:9px; padding:10px 13px; min-height:38px; border:1px solid #294630; border-radius:8px; background:#294630; color:#f0f3e5; font:inherit; font-size:12px; cursor:pointer; }
.chat-send:hover:not(:disabled) { background:#3c603a; }
.chat-attachment { display:flex; align-items:center; gap:7px; margin:8px 12px 0; padding:3px 8px; border-radius:6px; background:#d8e0cd; font-size:11px; }
.chat-attachment span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chat-attachment .chat-tool { margin-left:auto; }
.chat-hints { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:8px; font-size:10px; line-height:1.5; color:#526349; }
.chat-info summary { padding:3px 0; }
.chat-info-panel { bottom:calc(100% + 9px); padding:16px; font-size:12px; line-height:1.65; max-height:50dvh; overflow:auto; }
.chat-info-panel p { margin:0 0 12px; }.chat-info-panel p:last-child { margin:0; }
.chat-confirm { display:flex; align-items:center; gap:8px; background:#d2dcc6; border:1px solid #9eaf91; border-radius:7px; padding:8px 12px; margin:5px 0 10px; font-size:11px; }
.chat-confirm p { margin:0 auto 0 0; }.chat-confirm button { font:inherit; padding:8px; border:1px solid #8da180; border-radius:5px; color:#243e2c; background:#e7ebdf; cursor:pointer; }
.chat-dragging { outline:3px dashed #648754; outline-offset:-6px; }
@media(max-width:760px) {
  .neo-chat-mode,.neo-chat-mode.neo-expanded { width:calc(100% - 12px); height:calc(100dvh - 12px); max-height:none; margin:6px; }
  .neo-chat-mode .dialog-close { top:10px; right:9px; }
  .chat-heading { min-height:58px; padding:8px 53px 8px 16px; gap:7px; }
  .chat-heading h2 { font-size:21px; gap:7px; }.chat-heading h2 span { font-size:8px; letter-spacing:.05em; }
  .chat-header-actions { gap:1px; }.chat-header-actions>[data-chat=expand] { display:none; }
  .chat-log { padding:22px 17px; }.chat-welcome h3 { font-size:26px; }
  .chat-message-text { font-size:14px; }.chat-message { max-width:100%; }.chat-message.user { max-width:90%; }
  .chat-bottom { padding:0 12px 9px; }.chat-composer textarea { font-size:16px; min-height:58px; height:58px; padding:10px 12px 0; }
  .chat-hints { justify-content:flex-end; font-size:9px; }.chat-hints>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .chat-menu-panel { position:fixed; top:67px; right:18px; }.chat-confirm { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .chat-thinking i { animation:none; } }
