/* A compact, persistent assistant rail; workspace space is reserved by compact.css. */
.request-assistant-trigger { flex: 0 0 auto; white-space: nowrap; color: #315ec0; border-color: #d7e2fb; background: #f6f8ff; font-size: 11px; padding: 6px 9px; min-height: 29px; gap: 5px; }
.request-assistant-trigger svg { width: 14px; height: 14px; }
.request-assistant-trigger[aria-expanded="true"] { background: #e9efff; border-color: #8daaf1; }
.request-assistant[hidden] { display: none !important; }
.request-assistant { --assistant-border: #e1e7f0; position: fixed; z-index: 70; top: var(--assistant-card-top, 170px); bottom: auto; right: 10px; height: min(520px, calc(100dvh - var(--assistant-card-top, 170px) - 14px)); width: var(--assistant-rail-width, 300px); max-width: calc(100vw - 20px); display: flex; flex-direction: column; background: #fff; border: 1px solid #d6deeb; border-radius: 12px; box-shadow: 0 6px 24px #152c4d18, 0 2px 7px #152c4d0b; overflow: hidden; color: #1b2d43; }
.request-assistant-header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; padding: 11px 12px 10px; border-bottom: 1px solid var(--assistant-border); background: #fafbff; gap: 8px; }
.request-assistant-brand { display: flex; gap: 8px; align-items: center; min-width: 0; }
.request-assistant-icon { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; background: #eaf0ff; border: 1px solid #d9e3ff; border-radius: 8px; color: #315ec0; }
.request-assistant-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.request-assistant-header h2 { font-size: 14px; margin: 0 0 2px; letter-spacing: -.2px; line-height: 1.35; }
.request-assistant-header p { font-size: 10px; line-height: 1.4; margin: 0; color: #718099; }
.request-assistant-close { padding: 0; background: white; border: 1px solid #dfe5ef; border-radius: 7px; color: #6c7d96; font-size: 20px; line-height: 1; width: 28px; height: 28px; flex: 0 0 28px; cursor: pointer; }
.request-assistant-close:hover { background: #edf2ff; color: #315ec0; }
.request-assistant-context { margin: 9px 12px 7px; flex-shrink: 0; display: grid; gap: 2px; padding-left: 8px; border-left: 2px solid #7396e8; min-width: 0; }
.request-assistant-context strong { font-size: 11px; line-height: 1.35; }
.request-assistant-context span { color: #596c86; font-size: 10px; line-height: 1.4; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.request-assistant-context small { color: #8794a7; font-size: 9px; line-height: 1.4; margin-top: 1px; }
.request-assistant-availability { display: flex; flex-shrink: 0; gap: 6px; padding: 6px 8px; margin: 0 12px 8px; background: #f6f8fb; border: 1px solid #e5eaf2; border-radius: 7px; }
.request-assistant-dot { flex: 0 0 5px; height: 5px; border-radius: 100%; background: #bd974d; margin-top: 5px; }
.request-assistant-availability[data-ready="true"] .request-assistant-dot { background: #4b8e6d; }
.request-assistant-availability strong { display: block; font-size: 10px; line-height: 1.4; }
.request-assistant-availability p { margin: 2px 0 0; color: #6d7d93; font-size: 10px; line-height: 1.4; }
.request-assistant-actions { display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 4px; padding: 0 12px 9px; border-bottom: 1px solid var(--assistant-border); }
.request-assistant-actions button { border: 1px solid #dce5f4; background: #fff; color: #45628d; border-radius: 6px; padding: 4px 6px; font: inherit; font-size: 10px; line-height: 1.4; min-height: 26px; cursor: pointer; }
.request-assistant-actions button:hover { background: #eff4ff; border-color: #8faee8; }
.request-assistant-actions button:disabled { opacity: .55; cursor: wait; }
.request-assistant-transcript { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 10px 12px 3px; display: flex; flex-direction: column; gap: 9px; }
.request-assistant-message { padding: 9px 10px; border-radius: 8px; background: #f4f7fc; border: 1px solid #e3e9f3; flex: 0 0 auto; }
.request-assistant-message.is-user { margin-left: 18px; background: #edf2ff; border-color: #dce5fc; }
.request-assistant-message-label { font-size: 8px; text-transform: uppercase; letter-spacing: .5px; font-weight: 700; color: #7083a0; display: block; margin-bottom: 4px; line-height: 1.4; }
.request-assistant-message p { font-size: 11px; line-height: 1.55; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #30465f; }
.request-assistant-results { display: grid; gap: 5px; margin-top: 8px; }
.request-assistant-results a { display: grid; gap: 1px; padding: 6px 7px; border: 1px solid #dbe4f2; border-radius: 6px; background: #fff; color: #3e5e92; text-decoration: none; }
.request-assistant-results a:hover { border-color: #8faee8; background: #eff4ff; }
.request-assistant-results strong { font-size: 10px; line-height: 1.4; }
.request-assistant-results span { color: #657991; font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.request-assistant-copy { margin: 6px 0 0; padding: 2px 0; border: 0; background: transparent; font: inherit; color: #466cbc; font-size: 9px; cursor: pointer; }
.request-assistant-status { min-height: 15px; font-size: 10px; line-height: 1.4; color: #657a95; padding: 3px 12px; }
.request-assistant-status[data-error="true"] { color: #a64e3c; }
.request-assistant-form { display: flex; flex-shrink: 0; gap: 5px; padding: 4px 12px 0; align-items: flex-end; }
.request-assistant-form textarea { flex: 1; min-width: 0; margin: 0; border: 1px solid #dbe3ef; border-radius: 7px; padding: 8px; font: inherit; font-size: 11px; line-height: 1.4; min-height: 48px; max-height: 120px; resize: vertical; }
.request-assistant-form textarea:disabled { background: #f6f8fb; color: #8b98aa; cursor: default; }
.request-assistant-form .button { width: 29px; height: 29px; min-height: 29px; padding: 6px; flex: 0 0 29px; margin-bottom: 1px; border-radius: 7px; }
.request-assistant-form .button svg { width: 14px; height: 14px; }
.request-assistant-footnote { margin: 6px 12px 9px; color: #8896a8; font-size: 9px; line-height: 1.4; }
.request-assistant.is-dashboard-assistant .request-assistant-context small,
.request-assistant.is-dashboard-assistant .request-assistant-availability p { display: none; }
.request-assistant.is-dashboard-assistant .request-assistant-context { margin-block: 7px; }
.request-assistant.is-dashboard-assistant .request-assistant-availability { padding-block: 5px; margin-bottom: 6px; }
.request-assistant.is-dashboard-assistant .request-assistant-actions { padding-bottom: 7px; }
.request-assistant button:focus-visible, .request-assistant textarea:focus-visible { outline: 2px solid #6e95de; outline-offset: 2px; }
@media (max-width: 1179px) { .request-assistant { box-shadow: 0 12px 36px #152c4d2b; } }
@media (min-width: 1180px) { .request-assistant { height: calc(100dvh - var(--assistant-card-top, 170px) - 10px); } }
@media (max-width: 600px) { .request-assistant { right: 6px; max-width: calc(100vw - 12px); width: 300px; border-radius: 10px; } .request-assistant-actions button { min-height: 30px; } .request-assistant-close { width: 30px; height: 30px; flex-basis: 30px; } }
@media (max-height: 500px) { .request-assistant { overflow-y: auto; } .request-assistant-transcript { flex-shrink: 0; min-height: 90px; max-height: 160px; } }
.request-assistant-guidance {margin:0 12px;padding:8px 10px;border:1px solid #cbd9f4;border-radius:9px;background:#f0f5ff;flex:none;}
.request-assistant-guidance > strong,.request-assistant-guidance > small {display:block;}
.request-assistant-guidance > strong {font-size:12px;color:#2b527d;}
.request-assistant-guidance > small {font-size:11px;line-height:1.35;color:#60718a;margin-top:3px;}
.request-assistant-guidance .request-assistant-actions {padding:6px 0 0;border:0;}
.request-assistant-guidance[hidden] {display:none;}
