/* Assistant: full-height, single wide conversation; only the message log scrolls */
body[data-page="assistant"] .app-main{height:100vh;height:100dvh;min-height:0;overflow:hidden}
body[data-page="assistant"] .page-heading,body[data-page="assistant"] .app-footer{display:none}
body[data-page="assistant"] main{display:flex;flex-direction:column;min-height:0;max-width:none;padding:16px 20px}
[data-view="assistant"]{flex:1;min-height:0;display:flex}
.legal-chat{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.conversation-header{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line)}
.conversation-identity{display:flex;align-items:center;gap:10px;flex-shrink:0}
.conversation-logo,.conversation-logo img{width:36px;height:36px;object-fit:contain}
.conversation-identity h2{font-size:16px;font-weight:800;white-space:nowrap}
.conversation-context{position:relative;flex:0 1 340px;margin-inline-start:auto}
.conversation-context>i{position:absolute;top:50%;inset-inline-start:12px;transform:translateY(-50%);color:var(--primary);font-size:13px;pointer-events:none}
#chat-case{height:38px;padding-block:4px;padding-inline-start:34px;font-size:13.5px;font-weight:700;background-color:var(--bg);border-color:var(--line)}
.conversation-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.chat-messages{--chat-gutter:max(20px,calc((100% - 860px) / 2));flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px var(--chat-gutter);display:flex;flex-direction:column;gap:22px}

/* Messages */
.message{max-width:85%;align-self:flex-end}
.message.user{align-self:flex-start;max-width:75%;padding:12px 16px;border-radius:16px;border-start-start-radius:4px;background:var(--soft);color:var(--ink)}
.message-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--primary);margin-bottom:4px}
.message.user .message-label{display:none}
.reply-demo-tag{display:none}
.message p{white-space:pre-line;font-size:15.5px;line-height:2;color:var(--ink)}
.reply-actions{display:flex;gap:8px;margin-top:6px}
.reply-actions button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;border:0;background:none;font-size:12.5px;font-weight:700;color:var(--muted)}
.reply-actions button:hover{color:var(--primary);background:var(--soft)}
.reply-loading{align-self:flex-end;display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--muted)}
.typing-dots{display:inline-flex;gap:4px}
.typing-dots i{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:typing 1s infinite ease-in-out}
.typing-dots i:nth-child(2){animation-delay:.15s}
.typing-dots i:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* Empty chat */
.chat-empty{margin:auto;max-width:560px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.chat-welcome-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--primary);font-size:26px;margin-bottom:8px}
.chat-welcome-label{display:none}
.chat-empty h3{font-size:24px;font-weight:800}
.chat-empty p{color:var(--muted);font-size:15px}
.chat-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.chat-suggestions button{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:700;color:var(--ink)}
.chat-suggestions button:hover{border-color:var(--soft-2);background:var(--soft);color:var(--primary)}

/* Composer */
.legal-composer{padding:12px max(20px,calc((100% - 860px) / 2)) 18px;background:#fff}
.composer-input-wrap{display:flex;align-items:flex-end;gap:10px;padding:8px;padding-inline-start:16px;border:1px solid var(--line-strong);border-radius:16px;background:#fff;box-shadow:0 6px 20px -12px rgba(16,24,40,.25);transition:border-color .2s,box-shadow .2s}
.composer-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,99,206,.12)}
#chat-input{border:0;padding:9px 0;resize:none;min-height:44px;max-height:220px;box-shadow:none;font-size:15.5px;line-height:1.7;background:transparent}
#chat-input:focus{box-shadow:none}
.chat-send{width:44px;height:44px;border-radius:12px;border:0;background:var(--primary);color:#fff;display:grid;place-items:center;flex-shrink:0}
.chat-send:hover{background:var(--primary-dark)}
.chat-send:disabled{background:var(--line-strong);cursor:not-allowed}

@media (max-width:720px){
  body[data-page="assistant"] main{padding:8px}
  .conversation-header{flex-wrap:wrap;gap:8px;padding:8px 10px}
  .conversation-identity h2{font-size:15px}
  .conversation-context{order:3;flex:1 1 100%;margin:0}
  .conversation-actions{margin-inline-start:auto}
  #new-chat{width:38px;padding:0;font-size:0;gap:0}
  #new-chat i{font-size:13px}
  .chat-messages{padding:18px 14px;gap:18px}
  .message,.message.user{max-width:92%}
  .message p{font-size:15px}
  .legal-composer{padding:8px 10px 10px}
}
