.bs-assistant-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bs-assistant-backdrop { position: fixed; inset: 0; z-index: 178; background: rgba(15,23,42,.38); backdrop-filter: blur(2px); }
.bs-assistant-panel { position: fixed; top: .75rem; right: .75rem; bottom: .75rem; z-index: 180; display: flex; width: min(38rem, calc(100vw - 1.5rem)); flex-direction: column; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1.65rem; background: #fff; box-shadow: 0 30px 90px rgba(15,23,42,.24); }
.bs-assistant-panel :is(a,button,input,select,textarea,summary):focus-visible,
.bs-assistant-report-overlay :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #8b5cf6; outline-offset: 2px; }
.bs-assistant-header { position: relative; display: flex; min-height: 5.2rem; align-items: center; gap: .8rem; padding: .9rem 1rem; border-bottom: 1px solid #f1f5f9; }
.bs-assistant-avatar { width: 3.15rem; height: 3.15rem; flex: 0 0 auto; overflow: hidden; border-radius: 999px; background: #f5f3ff; box-shadow: 0 0 0 3px rgba(124,58,237,.1); }
.bs-assistant-beta { display: inline-flex; align-items: center; border-radius: 999px; background: #ede9fe; padding: .2rem .48rem; color: #6d28d9; font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bs-assistant-icon-button { display: grid; width: 2.55rem; height: 2.55rem; flex: 0 0 auto; place-items: center; border: 1px solid transparent; border-radius: .8rem; color: #64748b; }
.bs-assistant-icon-button:hover { border-color: #e2e8f0; background: #f8fafc; color: #0f172a; }
.bs-assistant-new-chat { display: inline-flex; min-height: 2.55rem; flex: 0 0 auto; align-items: center; justify-content: center; gap: .25rem; border: 1px solid #c4b5fd; border-radius: .85rem; padding: .45rem .7rem; background: #fff; color: #6d28d9; font-size: .72rem; font-weight: 850; }
.bs-assistant-new-chat:hover { background: #f5f3ff; }
.bs-assistant-new-chat .material-symbols-outlined { font-size: 1.25rem; }
.bs-assistant-menu { position: absolute; top: 4.3rem; right: 3.7rem; z-index: 5; width: 14rem; border: 1px solid #e2e8f0; border-radius: .9rem; padding: .4rem; background: #fff; box-shadow: 0 16px 35px rgba(15,23,42,.15); }
.bs-assistant-menu button { display: flex; width: 100%; align-items: center; gap: .5rem; border-radius: .65rem; padding: .6rem; color: #475569; text-align: left; font-size: .7rem; font-weight: 750; }
.bs-assistant-menu button:hover { background: #fff1f2; color: #be123c; }
.bs-assistant-menu .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #e2e8f0; }
.bs-assistant-tabs button { display: flex; min-height: 3.4rem; align-items: center; justify-content: center; gap: .55rem; border-bottom: 2px solid transparent; color: #64748b; font-size: .86rem; font-weight: 800; }
.bs-assistant-tabs button:hover { color: #6d28d9; }
.bs-assistant-tabs button.is-active { border-color: #7c3aed; color: #6d28d9; }
.bs-assistant-tabs .material-symbols-outlined { font-size: 1.25rem; }
.bs-assistant-tab-count { display: inline-grid; min-width: 1.15rem; height: 1.15rem; place-items: center; border-radius: 999px; background: #ede9fe; padding: 0 .25rem; font-size: .55rem; }
.bs-assistant-context-bar { display: flex; min-height: 3.75rem; align-items: center; gap: .5rem; overflow-x: auto; padding: .65rem 1.25rem; border-bottom: 1px solid #e2e8f0; background: #fcfcff; scrollbar-width: none; }
.bs-assistant-context-bar::-webkit-scrollbar { display: none; }
.bs-assistant-context-bar > strong { margin-right: .15rem; color: #334155; font-size: .7rem; }
.bs-assistant-context-chip { display: inline-flex; max-width: 13rem; flex: 0 0 auto; align-items: center; gap: .35rem; border: 1px solid #ddd6fe; border-radius: 999px; padding: .42rem .65rem; background: #f5f3ff; color: #6d28d9; font-size: .67rem; font-weight: 800; }
.bs-assistant-context-chip span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-context-chip .material-symbols-outlined { font-size: .95rem; }
.bs-assistant-context-chip-muted { border-color: #e2e8f0; background: #fff; color: #475569; }
.bs-assistant-handoff { display: flex; align-items: center; gap: .4rem; border-bottom: 1px solid #ddd6fe; padding: .5rem 1.25rem; background: #f5f3ff; color: #5b21b6; font-size: .6rem; font-weight: 800; }
.bs-assistant-handoff > .material-symbols-outlined { font-size: .9rem; }
.bs-assistant-handoff > span:nth-child(2) { flex: 1; }
.bs-assistant-handoff button { display: grid; width: 1.4rem; height: 1.4rem; place-items: center; border-radius: .4rem; color: #6d28d9; }
.bs-assistant-handoff button:hover { background: #ede9fe; }
.bs-assistant-handoff button .material-symbols-outlined { font-size: .8rem; }
.bs-assistant-task-resume { display: flex; align-items: center; gap: .55rem; border-bottom: 1px solid #bae6fd; padding: .6rem 1.25rem; background: #f0f9ff; color: #0c4a6e; }
.bs-assistant-task-resume > .material-symbols-outlined { font-size: 1.1rem; }
.bs-assistant-task-resume > span:nth-child(2) { display: grid; flex: 1; gap: .1rem; min-width: 0; }
.bs-assistant-task-resume strong { font-size: .64rem; font-weight: 900; }
.bs-assistant-task-resume small { color: #0369a1; font-size: .54rem; line-height: 1.3; }
.bs-assistant-task-resume button { border: 1px solid #7dd3fc; border-radius: .55rem; background: #fff; padding: .35rem .55rem; color: #075985; font-size: .56rem; font-weight: 900; }
.bs-assistant-task-resume button:hover { background: #e0f2fe; }
.bs-assistant-body { flex: 1 1 auto; overflow-y: auto; background: linear-gradient(180deg,#fff 0%,#fdfcff 100%); padding: 1.25rem; }
.bs-assistant-home { max-width: 31rem; margin: 0 auto; }
.bs-assistant-home-greeting { display: flex; align-items: center; gap: .9rem; padding: .35rem 0 .85rem; }
.bs-assistant-avatar-home { width: 3.65rem; height: 3.65rem; }
.bs-assistant-home-greeting h3 { color: #0f172a; font-size: 1.08rem; font-weight: 900; }
.bs-assistant-home-greeting p { margin-top: .2rem; color: #64748b; font-size: .8rem; }
.bs-assistant-home-prompts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: .65rem; }
.bs-assistant-home-prompts button { display: flex; min-height: 4.5rem; align-items: center; gap: .7rem; border: 1px solid #e2e8f0; border-radius: 1rem; padding: .75rem; background: #fff; text-align: left; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.bs-assistant-home-prompts button:hover { transform: translateY(-1px); border-color: #c4b5fd; box-shadow: 0 8px 20px rgba(109,40,217,.08); }
.bs-assistant-home-prompts button > .material-symbols-outlined { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: .75rem; background: #f5f3ff; color: #6d28d9; font-size: 1.2rem; }
.bs-assistant-home-prompts strong, .bs-assistant-home-prompts small { display: block; }
.bs-assistant-home-prompts strong { color: #1e293b; font-size: .72rem; }
.bs-assistant-home-prompts small { margin-top: .15rem; color: #64748b; font-size: .59rem; line-height: 1.35; }
.bs-assistant-contextual-starters em { display: inline-flex; margin-top: .35rem; border-radius: 999px; background: #fff7ed; padding: .18rem .38rem; color: #9a3412; font-size: .48rem; font-style: normal; font-weight: 900; }
.bs-assistant-starters-loading { display: flex; min-height: 8rem; align-items: center; justify-content: center; gap: .45rem; border: 1px dashed #ddd6fe; border-radius: 1rem; background: #faf9ff; color: #6d28d9; font-size: .66rem; font-weight: 800; }
.bs-assistant-starters-loading .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-starters-empty { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .65rem; margin-top: .65rem; border: 1px solid #ddd6fe; border-radius: 1rem; padding: .8rem; background: #faf9ff; }
.bs-assistant-starters-empty > .material-symbols-outlined { color: #7c3aed; font-size: 1.4rem; }
.bs-assistant-starters-empty strong, .bs-assistant-starters-empty small { display: block; }
.bs-assistant-starters-empty strong { color: #1e293b; font-size: .68rem; }
.bs-assistant-starters-empty small { margin-top: .15rem; color: #64748b; font-size: .56rem; line-height: 1.4; }
.bs-assistant-starters-empty button { grid-column: 2; justify-self: start; border-radius: .55rem; background: #ede9fe; padding: .4rem .55rem; color: #6d28d9; font-size: .54rem; font-weight: 900; }
.bs-assistant-import-starters { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .7rem; }
.bs-assistant-import-starters button { display: inline-flex; min-height: 2.25rem; align-items: center; gap: .3rem; border: 1px solid #e2e8f0; border-radius: .65rem; padding: .42rem .6rem; color: #475569; font-size: .57rem; font-weight: 850; }
.bs-assistant-import-starters button:hover { border-color: #c4b5fd; background: #f5f3ff; color: #6d28d9; }
.bs-assistant-import-starters button:disabled { cursor: not-allowed; opacity: .5; }
.bs-assistant-import-starters .material-symbols-outlined { font-size: .9rem; }
.bs-assistant-recent { margin-top: 1.5rem; }
.bs-assistant-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.bs-assistant-section-heading h3 { color: #334155; font-size: .72rem; font-weight: 900; }
.bs-assistant-section-heading button { display: inline-flex; align-items: center; gap: .2rem; color: #6d28d9; font-size: .64rem; font-weight: 800; }
.bs-assistant-section-heading button .material-symbols-outlined { font-size: .9rem; }
.bs-assistant-section-heading > span { color: #15803d; font-size: .58rem; font-weight: 850; }
.bs-assistant-recent-row { display: flex; width: 100%; align-items: center; gap: .65rem; margin-top: .45rem; border-radius: .85rem; padding: .65rem .5rem; color: #64748b; text-align: left; }
.bs-assistant-recent-row:hover { background: #f8fafc; }
.bs-assistant-recent-row > .material-symbols-outlined:first-child { color: #8b5cf6; font-size: 1.05rem; }
.bs-assistant-recent-row > .material-symbols-outlined:last-child { font-size: 1rem; }
.bs-assistant-recent-row strong, .bs-assistant-recent-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-recent-row strong { color: #1e293b; font-size: .7rem; }
.bs-assistant-recent-row small { margin-top: .15rem; font-size: .59rem; }
.bs-assistant-conversation { max-width: 31rem; min-height: 100%; margin: 0 auto; padding-bottom: .5rem; }
.bs-assistant-message-user { display: flex; justify-content: flex-end; margin: .35rem 0 1.15rem 4rem; }
.bs-assistant-message-user time { display: block; margin: 0 .4rem .3rem 0; color: #94a3b8; text-align: right; font-size: .58rem; }
.bs-assistant-user-bubble { position: relative; max-width: 23rem; border-radius: 1.05rem 1.05rem .25rem 1.05rem; background: linear-gradient(135deg,#7c3aed,#5b21d6); padding: .8rem 1rem; color: #fff; font-size: .82rem; line-height: 1.55; box-shadow: 0 10px 20px rgba(109,40,217,.14); }
.bs-assistant-response-row { display: flex; align-items: flex-start; gap: .7rem; margin-bottom: 1.3rem; }
.bs-assistant-avatar-message { width: 2.35rem; height: 2.35rem; margin-top: 1.1rem; }
.bs-assistant-response-row time { display: block; margin: 0 0 .3rem .4rem; color: #94a3b8; font-size: .58rem; }
.bs-assistant-response-card { border: 1px solid #e2e8f0; border-radius: .45rem 1rem 1rem 1rem; padding: .9rem; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,.05); }
.bs-assistant-response-card.is-error { border-color: #fed7aa; background: #fffaf5; }
.bs-assistant-response-card h3 { color: #0f172a; font-size: .88rem; font-weight: 900; line-height: 1.35; }
.bs-assistant-response-card > p { margin-top: .35rem; color: #334155; font-size: .76rem; line-height: 1.55; }
.bs-assistant-retry { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .55rem; margin-top: .7rem; border: 1px solid #fed7aa; border-radius: .7rem; padding: .6rem; background: #fff; color: #9a3412; }
.bs-assistant-retry > .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-retry strong, .bs-assistant-retry small { display: block; }
.bs-assistant-retry strong { font-size: .6rem; }
.bs-assistant-retry small { margin-top: .08rem; color: #9a3412; font-size: .5rem; line-height: 1.35; }
.bs-assistant-retry button { border-radius: .52rem; background: #7c3aed; padding: .42rem .58rem; color: #fff; font-size: .54rem; font-weight: 900; }
.bs-assistant-retry button:disabled { cursor: wait; background: #c4b5fd; }
.bs-assistant-advice-points { display: grid; gap: .42rem; margin: .55rem 0 0 3.1rem; padding: .7rem .78rem; border: 1px solid #ede9fe; border-radius: .8rem; background: #faf9ff; }
.bs-assistant-advice-points li { position: relative; padding-left: 1rem; color: #334155; font-size: .71rem; line-height: 1.45; }
.bs-assistant-advice-points li::before { position: absolute; left: .12rem; top: .47rem; width: .3rem; height: .3rem; border-radius: 999px; background: #6d28d9; content: ''; }
.bs-assistant-message-assistant { display: flex; flex-direction: column; }
.bs-assistant-feedback { order: 2; margin: .55rem 0 0 3.1rem; color: #64748b; font-size: .68rem; }
.bs-assistant-feedback-row { display: flex; align-items: center; gap: .35rem; }
.bs-assistant-feedback-row > span { margin-right: .15rem; font-weight: 700; }
.bs-assistant-feedback-row button { display: inline-flex; width: 1.8rem; height: 1.8rem; align-items: center; justify-content: center; border: 1px solid #e2e8f0; border-radius: .55rem; background: #fff; color: #64748b; }
.bs-assistant-feedback-row button:hover, .bs-assistant-feedback-row button.is-active { border-color: #8b5cf6; background: #f5f3ff; color: #6d28d9; }
.bs-assistant-feedback-row button.is-negative { border-color: #fb7185; background: #fff1f2; color: #be123c; }
.bs-assistant-feedback-row .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-feedback-form { margin-top: .5rem; padding: .65rem; border: 1px solid #ede9fe; border-radius: .75rem; background: #faf9ff; }
.bs-assistant-feedback-form > p { margin-bottom: .4rem; font-weight: 800; color: #475569; }
.bs-assistant-feedback-form > div:first-of-type { display: flex; flex-wrap: wrap; gap: .3rem; }
.bs-assistant-feedback-form > div:first-of-type button { padding: .28rem .5rem; border: 1px solid #ddd6fe; border-radius: 999px; background: #fff; color: #5b21b6; font-weight: 700; }
.bs-assistant-feedback-form > div:first-of-type button.is-selected { border-color: #7c3aed; background: #ede9fe; }
.bs-assistant-feedback-form textarea { width: 100%; margin-top: .5rem; padding: .45rem .55rem; border: 1px solid #ddd6fe; border-radius: .55rem; background: #fff; font-size: .7rem; resize: vertical; }
.bs-assistant-feedback-actions { display: flex; justify-content: flex-end; gap: .35rem; margin-top: .45rem; }
.bs-assistant-feedback-actions button { padding: .35rem .6rem; border-radius: .5rem; font-weight: 800; }
.bs-assistant-feedback-actions button:last-child { background: #6d28d9; color: #fff; }
.bs-assistant-feedback > small { display: block; margin-top: .35rem; color: #047857; font-weight: 700; }
.bs-assistant-open-report { display: flex; width: calc(100% - 3.1rem); align-items: center; gap: .65rem; margin: .6rem 0 0 3.1rem; border: 1px solid #ddd6fe; border-radius: .85rem; background: linear-gradient(135deg,#f5f3ff,#fafaff); padding: .7rem .75rem; color: #5b21b6; text-align: left; }
.bs-assistant-open-report:hover { border-color: #8b5cf6; box-shadow: 0 8px 22px rgba(109,40,217,.1); }
.bs-assistant-open-report > span:first-child { font-size: 1.25rem; }
.bs-assistant-open-report > span:nth-child(2) { min-width: 0; flex: 1; }
.bs-assistant-open-report strong, .bs-assistant-open-report small { display: block; }
.bs-assistant-open-report strong { font-size: .68rem; font-weight: 900; }
.bs-assistant-open-report small { margin-top: .12rem; color: #64748b; font-size: .58rem; }
.bs-assistant-open-report > span:last-child { font-size: 1rem; }
.bs-assistant-report-overlay { position: fixed; inset: 0; z-index: 1005; display: flex; align-items: center; justify-content: center; padding: 1.5rem; background: rgba(15,23,42,.52); backdrop-filter: blur(6px); }
.bs-assistant-report-modal { display: flex; width: min(100%,64rem); max-height: calc(100vh - 3rem); flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 1.5rem; background: #fff; box-shadow: 0 30px 80px rgba(15,23,42,.3); }
.bs-assistant-report-modal > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; border-bottom: 1px solid #e2e8f0; background: linear-gradient(135deg,#faf9ff,#fff); }
.bs-assistant-report-modal > header div > span { color: #6d28d9; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bs-assistant-report-modal > header h2 { margin-top: .15rem; color: #0f172a; font-size: 1.2rem; font-weight: 950; }
.bs-assistant-report-modal > header p { margin-top: .25rem; color: #64748b; font-size: .75rem; }
.bs-assistant-report-modal > header button { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border: 1px solid #e2e8f0; border-radius: .75rem; color: #64748b; }
.bs-assistant-report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1.4rem; border-bottom: 1px solid #eef2f7; }
.bs-assistant-report-toolbar > div { display: flex; flex-wrap: wrap; gap: .35rem; }
.bs-assistant-report-toolbar button { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid #e2e8f0; border-radius: .65rem; padding: .42rem .62rem; color: #475569; font-size: .68rem; font-weight: 800; }
.bs-assistant-report-toolbar button.is-active { border-color: #8b5cf6; background: #f5f3ff; color: #6d28d9; }
.bs-assistant-report-toolbar button.is-download { margin-left: auto; background: #0f172a; color: #fff; }
.bs-assistant-report-toolbar .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-report-content { overflow-y: auto; padding: 1rem 1.4rem 1.25rem; }
.bs-assistant-report-chart { position: relative; height: min(48vh,25rem); min-height: 18rem; }
.bs-assistant-report-error { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 1rem; background: #fff7ed; color: #9a3412; font-size: .8rem; font-weight: 800; }
.bs-assistant-report-table { margin-top: 1rem; border: 1px solid #e2e8f0; border-radius: .85rem; }
.bs-assistant-report-table summary { cursor: pointer; padding: .65rem .8rem; color: #475569; font-size: .7rem; font-weight: 900; }
.bs-assistant-report-table > div { overflow-x: auto; border-top: 1px solid #e2e8f0; }
.bs-assistant-report-table table { width: 100%; border-collapse: collapse; font-size: .7rem; }
.bs-assistant-report-table th, .bs-assistant-report-table td { padding: .55rem .7rem; border-bottom: 1px solid #f1f5f9; text-align: right; white-space: nowrap; }
.bs-assistant-report-table th:first-child { text-align: left; }
.bs-assistant-report-table thead { background: #f8fafc; color: #475569; }
.bs-assistant-report-modal > footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .72rem 1.4rem; border-top: 1px solid #e2e8f0; color: #64748b; }
.bs-assistant-report-modal > footer > span { display: inline-flex; align-items: center; gap: .35rem; color: #166534; font-size: .68rem; font-weight: 900; }
.bs-assistant-report-modal > footer .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-report-modal > footer small { font-size: .62rem; }
@media (max-width: 640px) {
  .bs-assistant-report-overlay { align-items: flex-end; padding: 0; }
  .bs-assistant-report-modal { max-height: 94vh; border-radius: 1.25rem 1.25rem 0 0; }
  .bs-assistant-report-toolbar, .bs-assistant-report-modal > footer { align-items: stretch; flex-direction: column; }
  .bs-assistant-report-toolbar button.is-download { justify-content: center; margin-left: 0; }
  .bs-assistant-report-chart { min-height: 15rem; }
}
.bs-assistant-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; margin-top: .75rem; }
.bs-assistant-metrics div { border: 1px solid #ede9fe; border-radius: .75rem; background: #fafaff; padding: .6rem; }
.bs-assistant-metrics strong, .bs-assistant-metrics span { display: block; }
.bs-assistant-metrics strong { color: #5b21b6; font-size: .9rem; }
.bs-assistant-metrics span { margin-top: .1rem; color: #64748b; font-size: .56rem; font-weight: 800; text-transform: uppercase; }
.bs-assistant-items { margin-top: .7rem; overflow: hidden; border: 1px solid #e2e8f0; border-radius: .8rem; background: #fff; }
.bs-assistant-item { display: flex; align-items: center; gap: .6rem; padding: .68rem .72rem; border-bottom: 1px solid #f1f5f9; }
.bs-assistant-item:last-child { border-bottom: 0; }
.bs-assistant-item:hover { background: #f8fafc; }
.bs-assistant-item strong, .bs-assistant-item small { display: block; }
.bs-assistant-item strong { overflow: hidden; color: #1e293b; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-item small { margin-top: .15rem; color: #64748b; font-size: .59rem; line-height: 1.35; }
.bs-assistant-item-badge { flex: 0 0 auto; border-radius: 999px; background: #fef3c7; padding: .25rem .45rem; color: #92400e; font-size: .56rem; font-weight: 900; }
.bs-assistant-result-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.bs-assistant-result-action { display: inline-flex; min-height: 2.2rem; align-items: center; gap: .3rem; border-radius: .7rem; background: #ede9fe; padding: .45rem .65rem; color: #5b21b6; font-size: .62rem; font-weight: 850; }
.bs-assistant-result-action:hover { background: #ddd6fe; }
.bs-assistant-result-action .material-symbols-outlined { font-size: .9rem; }
.bs-assistant-result-note { margin-top: .7rem !important; color: #64748b !important; font-size: .59rem !important; }
.bs-assistant-explanation { margin-top: .7rem; border-top: 1px solid #e2e8f0; padding-top: .55rem; }
.bs-assistant-explanation summary { display: flex; cursor: pointer; list-style: none; align-items: center; gap: .35rem; color: #64748b; font-size: .62rem; font-weight: 800; }
.bs-assistant-explanation summary::-webkit-details-marker { display: none; }
.bs-assistant-explanation summary .material-symbols-outlined { font-size: .9rem; }
.bs-assistant-explanation summary .material-symbols-outlined:last-child { margin-left: auto; transition: transform .15s ease; }
.bs-assistant-explanation[open] summary .material-symbols-outlined:last-child { transform: rotate(180deg); }
.bs-assistant-explanation > div { margin-top: .55rem; border-radius: .7rem; background: #f8fafc; padding: .65rem; }
.bs-assistant-explanation > div > strong { display: block; color: #334155; font-size: .66rem; }
.bs-assistant-explanation > div > p { margin-top: .2rem; color: #64748b; font-size: .61rem; line-height: 1.45; }
.bs-assistant-explanation > div > div { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .5rem; }
.bs-assistant-explanation > div > div > span { border: 1px solid #ddd6fe; border-radius: 999px; background: #fff; padding: .2rem .42rem; color: #5b21b6; font-size: .56rem; font-weight: 750; }
.bs-assistant-understanding { margin: .55rem 0 .75rem 3rem; border: 1px solid #ede9fe; border-radius: .75rem; background: #faf8ff; padding: .65rem; }
.bs-assistant-understanding > div { display: flex; align-items: center; gap: .3rem; color: #5b21b6; font-size: .64rem; }
.bs-assistant-understanding > div .material-symbols-outlined { font-size: .9rem; }
.bs-assistant-understanding > p { margin-top: .3rem; color: #475569; font-size: .62rem; line-height: 1.45; }
.bs-assistant-understanding ul { display: grid; gap: .25rem; margin-top: .45rem; }
.bs-assistant-understanding li { display: flex; align-items: flex-start; gap: .3rem; color: #64748b; font-size: .58rem; line-height: 1.4; }
.bs-assistant-understanding li .material-symbols-outlined { color: #16a34a; font-size: .75rem; }
.bs-assistant-understanding .bs-assistant-understanding-next { border-top: 1px solid #ede9fe; margin-top: .5rem; padding-top: .45rem; }
.bs-assistant-followups { margin: .75rem .1rem 0; }
.bs-assistant-followups p { margin-bottom: .4rem; color: #64748b; font-size: .62rem; font-weight: 750; }
.bs-assistant-followups button { display: flex; width: 100%; align-items: center; gap: .55rem; margin-top: .38rem; border: 1px solid #ddd6fe; border-radius: .75rem; padding: .55rem .65rem; background: #fcfaff; color: #6d28d9; text-align: left; font-size: .65rem; font-weight: 800; }
.bs-assistant-followups button:hover { background: #f5f3ff; }
.bs-assistant-followups .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-thinking { display: flex; align-items: center; gap: .7rem; color: #64748b; font-size: .65rem; }
.bs-assistant-thinking .bs-assistant-avatar { margin-top: 0; }
.bs-assistant-thinking > span { display: flex; gap: .2rem; border-radius: 999px; background: #f5f3ff; padding: .55rem .7rem; }
.bs-assistant-thinking i { width: .3rem; height: .3rem; border-radius: 999px; background: #8b5cf6; animation: bs-assistant-pulse 1.1s infinite ease-in-out; }
.bs-assistant-thinking i:nth-child(2) { animation-delay: .14s; }
.bs-assistant-thinking i:nth-child(3) { animation-delay: .28s; }
@keyframes bs-assistant-pulse { 0%,80%,100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-2px); } }
.bs-assistant-history { max-width: 31rem; margin: 0 auto; }
.bs-assistant-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bs-assistant-history-heading p { color: #7c3aed; font-size: .6rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bs-assistant-history-heading h3 { margin-top: .15rem; color: #0f172a; font-size: 1rem; font-weight: 900; }
.bs-assistant-history-search { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; border: 1px solid #cbd5e1; border-radius: .85rem; padding: .55rem .7rem; background: #fff; color: #94a3b8; }
.bs-assistant-history-search:focus-within { border-color: #8b5cf6; box-shadow: 0 0 0 3px rgba(139,92,246,.1); }
.bs-assistant-history-search .material-symbols-outlined { font-size: 1.1rem; }
.bs-assistant-history-search input { width: 100%; border: 0; padding: 0; background: transparent; color: #1e293b; font-size: .72rem; outline: 0; box-shadow: none; }
.bs-assistant-history-error { margin-top: .8rem; border: 1px solid #fecaca; border-radius: .75rem; padding: .6rem .7rem; background: #fff1f2; color: #be123c; font-size: .68rem; font-weight: 750; }
.bs-assistant-history-list { margin-top: 1rem; }
.bs-assistant-history-row { display: flex; align-items: center; gap: .2rem; border-bottom: 1px solid #f1f5f9; }
.bs-assistant-history-open { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; gap: .65rem; padding: .7rem .25rem; text-align: left; }
.bs-assistant-history-open:hover { background: #fafafa; }
.bs-assistant-history-icon { display: grid; width: 2.3rem; height: 2.3rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background: #f5f3ff; color: #7c3aed; }
.bs-assistant-history-icon .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-history-list strong, .bs-assistant-history-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-history-list strong { color: #1e293b; font-size: .72rem; }
.bs-assistant-history-list small { margin-top: .15rem; color: #64748b; font-size: .59rem; }
.bs-assistant-history-open > .material-symbols-outlined { color: #94a3b8; font-size: 1rem; }
.bs-assistant-history-actions { display: flex; flex: 0 0 auto; gap: .1rem; opacity: .2; transition: opacity .15s ease; }
.bs-assistant-history-row:hover .bs-assistant-history-actions, .bs-assistant-history-actions:focus-within { opacity: 1; }
.bs-assistant-history-actions button, .bs-assistant-history-rename > button { display: grid; width: 1.9rem; height: 1.9rem; place-items: center; border-radius: .55rem; color: #64748b; }
.bs-assistant-history-actions button:hover, .bs-assistant-history-rename > button:hover { background: #f1f5f9; color: #6d28d9; }
.bs-assistant-history-actions button:last-child:hover { background: #fff1f2; color: #be123c; }
.bs-assistant-history-actions .material-symbols-outlined, .bs-assistant-history-rename .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-history-rename { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; gap: .25rem; padding: .55rem .25rem; }
.bs-assistant-history-rename label { min-width: 0; flex: 1 1 auto; }
.bs-assistant-history-rename input { width: 100%; border: 1px solid #8b5cf6; border-radius: .65rem; padding: .45rem .55rem; color: #1e293b; font-size: .72rem; outline: 0; box-shadow: 0 0 0 3px rgba(139,92,246,.1); }
.bs-assistant-history-retention { display: flex; align-items: flex-start; gap: .4rem; margin-top: 1rem; color: #64748b; font-size: .59rem; line-height: 1.45; }
.bs-assistant-history-retention .material-symbols-outlined { margin-top: .05rem; color: #7c3aed; font-size: .85rem; }
.bs-assistant-history-empty { padding: 4rem 1rem; color: #94a3b8; text-align: center; }
.bs-assistant-history-empty > .material-symbols-outlined { font-size: 2rem; }
.bs-assistant-history-empty h3 { margin-top: .5rem; color: #334155; font-size: .82rem; font-weight: 900; }
.bs-assistant-history-empty p { margin-top: .2rem; font-size: .68rem; }
.bs-assistant-suggestion-status { display: flex; align-items: center; justify-content: center; gap: .4rem; margin: 1rem auto 0; color: #64748b; font-size: .65rem; font-weight: 750; }
.bs-assistant-record-suggestions { max-width: 31rem; margin: 1rem auto 0; border: 1px solid #bae6fd; border-radius: 1rem; padding: .85rem; background: #f7fcff; }
.bs-assistant-record-suggestion-list { display: grid; gap: .42rem; margin-top: .65rem; }
.bs-assistant-record-suggestion { display: flex; width: 100%; align-items: center; gap: .6rem; border: 1px solid #e2e8f0; border-radius: .8rem; padding: .58rem .62rem; background: #fff; text-align: left; }
.bs-assistant-record-suggestion:hover { border-color: #7dd3fc; background: #f8fdff; }
.bs-assistant-record-suggestion-icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; background: #e0f2fe; color: #0369a1; }
.bs-assistant-record-suggestion-icon .material-symbols-outlined { font-size: 1rem; }
.bs-assistant-record-suggestion strong, .bs-assistant-record-suggestion small { display: block; }
.bs-assistant-record-suggestion strong { overflow: hidden; color: #0f172a; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-record-suggestion small { overflow: hidden; margin-top: .1rem; color: #64748b; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-record-match { flex: 0 0 auto; border-radius: 999px; background: #f0f9ff; padding: .25rem .42rem; color: #0369a1; font-size: .5rem; font-weight: 900; }
.bs-assistant-recommendations { max-width: 31rem; margin: 1rem auto 0; border: 1px solid #ddd6fe; border-radius: 1rem; padding: .85rem; background: #fcfaff; }
.bs-assistant-recommendation { display: flex; width: 100%; align-items: center; gap: .65rem; border: 1px solid #e2e8f0; border-radius: .8rem; padding: .65rem; background: #fff; text-align: left; }
.bs-assistant-recommendation:hover { border-color: #c4b5fd; }
.bs-assistant-recommendation-icon { display: grid; width: 2.2rem; height: 2.2rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background: #ede9fe; color: #6d28d9; }
.bs-assistant-recommendation-icon .material-symbols-outlined { font-size: 1.05rem; }
.bs-assistant-recommendation strong, .bs-assistant-recommendation small { display: block; }
.bs-assistant-recommendation strong { color: #0f172a; font-size: .69rem; }
.bs-assistant-recommendation small { margin-top: .12rem; color: #64748b; font-size: .59rem; }
.bs-assistant-composer { padding: .8rem 1rem .85rem; border-top: 1px solid #e2e8f0; background: rgba(255,255,255,.97); box-shadow: 0 -10px 30px rgba(15,23,42,.04); }
.bs-assistant-file-input { display: none !important; }
.bs-assistant-input-wrap { position: relative; display: flex; align-items: flex-end; gap: .5rem; border: 1px solid #cbd5e1; border-radius: 1rem; padding: .42rem .42rem .42rem .8rem; background: #fff; box-shadow: 0 5px 18px rgba(15,23,42,.05); }
.bs-assistant-input-wrap:focus-within { border-color: #8b5cf6; box-shadow: 0 0 0 3px rgba(139,92,246,.12); }
.bs-assistant-attach { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; margin-bottom: .18rem; border-radius: .72rem; color: #6d28d9; }
.bs-assistant-attach:hover { background: #f5f3ff; }
.bs-assistant-attach:disabled { color: #cbd5e1; }
.bs-assistant-attach .material-symbols-outlined { font-size: 1.25rem; }
.bs-assistant-attachment-menu { position: absolute; bottom: calc(100% + .65rem); left: 0; z-index: 30; width: min(19rem, calc(100vw - 3rem)); overflow: hidden; border: 1px solid #ddd6fe; border-radius: 1rem; background: #fff; padding: .4rem; box-shadow: 0 18px 45px rgba(15,23,42,.16); }
.bs-assistant-attachment-menu > button { display: flex; width: 100%; align-items: center; gap: .75rem; border-radius: .75rem; padding: .75rem; text-align: left; color: #334155; }
.bs-assistant-attachment-menu > button:hover { background: #f5f3ff; color: #5b21b6; }
.bs-assistant-attachment-menu > button > .material-symbols-outlined { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background: #ede9fe; color: #6d28d9; font-size: 1.2rem; }
.bs-assistant-attachment-menu strong, .bs-assistant-attachment-menu small { display: block; }
.bs-assistant-attachment-menu strong { font-size: .76rem; font-weight: 900; }
.bs-assistant-attachment-menu small { margin-top: .15rem; color: #64748b; font-size: .65rem; }
.bs-assistant-input { min-height: 2.35rem !important; max-height: 7rem; resize: none; border: 0 !important; padding: .5rem 0 !important; background: transparent !important; box-shadow: none !important; font-size: .8rem; line-height: 1.4; }
.bs-assistant-send { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 auto; place-items: center; border-radius: .85rem; background: linear-gradient(135deg,#7c3aed,#5b21d6); color: #fff; box-shadow: 0 6px 14px rgba(109,40,217,.2); }
.bs-assistant-send:disabled { cursor: not-allowed; background: #e2e8f0; color: #94a3b8; box-shadow: none; }
.bs-assistant-usage { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .55rem; color: #64748b; font-size: .59rem; }
.bs-assistant-usage-status { display: flex; align-items: center; gap: .35rem; }
.bs-assistant-usage-status i { width: .4rem; height: .4rem; border-radius: 999px; background: #cbd5e1; }
.bs-assistant-usage-status i.is-online { background: #10b981; }
.bs-assistant-usage-status .material-symbols-outlined { margin-left: .15rem; color: #64748b; font-size: .9rem; }
.bs-assistant-description-options { display: grid; gap: .5rem; margin: .55rem 0 0 3.15rem; }
.bs-assistant-description-options button { display: flex; width: 100%; align-items: flex-start; gap: .55rem; border: 1px solid #ddd6fe; border-radius: .85rem; padding: .65rem .7rem; background: #fff; color: #4c1d95; text-align: left; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.bs-assistant-description-options button:hover { border-color: #8b5cf6; background: #faf7ff; box-shadow: 0 4px 14px rgba(109,40,217,.08); }
.bs-assistant-description-options button.is-applied { border-color: #8b5cf6; background: #f5f3ff; }
.bs-assistant-description-options .material-symbols-outlined { flex: 0 0 auto; margin-top: .08rem; font-size: 1.05rem; }
.bs-assistant-description-options span:last-child { min-width: 0; }
.bs-assistant-description-options strong, .bs-assistant-description-options small { display: block; }
.bs-assistant-description-options strong { font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.bs-assistant-description-options small { margin-top: .18rem; color: #334155; font-size: .68rem; line-height: 1.45; }
.bs-stock-action { margin: .65rem 0 0 3.15rem; border: 1px solid #cbd5e1; border-radius: 1rem; padding: .8rem; background: #fff; box-shadow: 0 5px 18px rgba(15,23,42,.05); }
.bs-stock-action-heading { display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; }
.bs-stock-action-heading > .material-symbols-outlined { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: #ecfdf5; color: #047857; font-size: 1.05rem; }
.bs-stock-action-heading strong, .bs-stock-action-heading small { display: block; }
.bs-stock-action-heading strong { color: #0f172a; font-size: .72rem; }
.bs-stock-action-heading small { margin-top: .08rem; color: #64748b; font-size: .59rem; }
.bs-stock-rows { overflow: hidden; border: 1px solid #e2e8f0; border-radius: .75rem; }
.bs-stock-rows > label { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .62rem; border-bottom: 1px solid #f1f5f9; }
.bs-stock-rows > label:last-child { border-bottom: 0; }
.bs-stock-rows strong, .bs-stock-rows small { display: block; }
.bs-stock-rows strong { color: #0f172a; font-size: .66rem; }
.bs-stock-rows small { margin-top: .1rem; color: #64748b; font-size: .56rem; }
.bs-stock-input { display: flex; width: 7.5rem; flex: 0 0 auto; align-items: center; gap: .3rem; }
.bs-stock-input input { min-width: 0; padding: .4rem .45rem !important; font-size: .65rem !important; }
.bs-stock-input em { color: #64748b; font-size: .58rem; font-style: normal; }
.bs-stock-note { display: block; margin-top: .6rem; color: #475569; font-size: .6rem; font-weight: 700; }
.bs-stock-note input { margin-top: .2rem; padding: .45rem .55rem !important; font-size: .65rem !important; }
.bs-material-adjustment-fields { display: grid; gap: .6rem; }
.bs-material-adjustment-fields > label > span { display: block; margin-bottom: .25rem; color: #475569; font-size: .59rem; font-weight: 900; }
.bs-material-adjustment-fields select { width: 100%; border: 1px solid #dbe2ea; border-radius: .65rem; background: #fff; padding: .5rem .6rem; color: #0f172a; font-size: .65rem; }
.bs-stock-review { overflow: hidden; border: 1px solid #e2e8f0; border-radius: .72rem; }
.bs-stock-review div { display: flex; justify-content: space-between; gap: .5rem; padding: .55rem .62rem; border-bottom: 1px solid #f1f5f9; font-size: .64rem; }
.bs-stock-review div:last-child { border-bottom: 0; }
.bs-stock-review dt { color: #334155; font-weight: 700; }
.bs-stock-review dd { color: #047857; font-weight: 800; }
.bs-recipe-import { margin-top: .8rem; border-top: 1px solid #ede9fe; padding-top: .75rem; }
.bs-recipe-import-yield { display: flex; align-items: center; justify-content: space-between; border-radius: .7rem; background: #f5f3ff; padding: .55rem .65rem; color: #6d28d9; font-size: .65rem; }
.bs-recipe-import-yield strong { font-size: .72rem; }
.bs-recipe-import-list { margin-top: .55rem; overflow: hidden; border: 1px solid #e2e8f0; border-radius: .75rem; }
.bs-recipe-import-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .3rem .5rem; padding: .58rem .65rem; border-bottom: 1px solid #f1f5f9; }
.bs-recipe-import-row:last-child { border-bottom: 0; }
.bs-recipe-import-row strong, .bs-recipe-import-row small { display: block; }
.bs-recipe-import-row strong { color: #1e293b; font-size: .66rem; line-height: 1.4; }
.bs-recipe-import-row small { margin-top: .1rem; color: #64748b; font-size: .55rem; }
.bs-recipe-match-status { align-self: start; border-radius: 999px; padding: .18rem .38rem; background: #f1f5f9; color: #64748b; font-size: .48rem; font-weight: 900; text-transform: uppercase; }
.bs-recipe-match-status.is-matched { background: #dcfce7; color: #15803d; }
.bs-recipe-match-status.is-possible { background: #fef3c7; color: #92400e; }
.bs-recipe-match-status.is-missing { background: #ffe4e6; color: #be123c; }
.bs-recipe-candidates { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .3rem; }
.bs-recipe-candidates button, .bs-recipe-create-missing { display: inline-flex; align-items: center; gap: .2rem; border-radius: .55rem; background: #f5f3ff; padding: .34rem .48rem; color: #6d28d9; font-size: .55rem; font-weight: 800; }
.bs-recipe-create-missing { grid-column: 1 / -1; width: max-content; }
.bs-recipe-create-missing .material-symbols-outlined { font-size: .75rem; }
.bs-recipe-warnings { margin-top: .6rem; border: 1px solid #fde68a; border-radius: .7rem; padding: .55rem .65rem; background: #fffbeb; }
.bs-recipe-warnings strong { color: #92400e; font-size: .6rem; }
.bs-recipe-warnings p { margin-top: .18rem; color: #78350f; font-size: .54rem; line-height: 1.4; }
.bs-recipe-confirm { display: flex; width: 100%; align-items: center; justify-content: center; gap: .35rem; margin-top: .65rem; border-radius: .7rem; background: #6d28d9; padding: .55rem; color: #fff; font-size: .62rem; font-weight: 900; }
.bs-recipe-confirm:disabled { cursor: not-allowed; background: #e2e8f0; color: #94a3b8; }
.bs-recipe-confirm .material-symbols-outlined { font-size: .9rem; }
.bs-recipe-blocked-note { margin-top: .3rem !important; color: #64748b !important; text-align: center; font-size: .53rem !important; }
.bs-recipe-builder-choices { display: grid; gap: .45rem; margin: .65rem 0 1rem 3rem; }
.bs-assistant-clarification-options { display: grid; gap: .42rem; margin: .65rem 0 1rem 3rem; }
.bs-assistant-clarification-options button { display: flex; align-items: center; gap: .45rem; border: 1px solid #ddd6fe; border-radius: .72rem; padding: .58rem .68rem; background: #fff; color: #5b21b6; text-align: left; font-size: .62rem; font-weight: 850; }
.bs-assistant-clarification-options button:hover { border-color: #a78bfa; background: #f5f3ff; }
.bs-assistant-clarification-options button:disabled { cursor: not-allowed; opacity: .55; }
.bs-assistant-clarification-options .material-symbols-outlined { font-size: .95rem; }
.bs-assistant-clarification-options small { color: #64748b; font-size: .52rem; }
.bs-recipe-builder-choices button { display: flex; align-items: center; gap: .55rem; border: 1px solid #ddd6fe; border-radius: .75rem; padding: .65rem .75rem; background: #fff; color: #5b21b6; text-align: left; font-size: .65rem; font-weight: 850; }
.bs-recipe-builder-choices button:hover { background: #f5f3ff; }
.bs-recipe-builder-choices .material-symbols-outlined { font-size: 1.05rem; }
.bs-recipe-import-editor { margin: -.75rem 0 1rem 3rem; border: 1px solid #e2e8f0; border-radius: .85rem; padding: .7rem; background: #fff; }
.bs-recipe-import-editor > strong { color: #334155; font-size: .62rem; }
.bs-recipe-import-fields { display: grid; grid-template-columns: 2fr .75fr 1fr; gap: .4rem; margin-top: .45rem; }
.bs-recipe-import-fields label span { display: block; margin-bottom: .18rem; color: #64748b; font-size: .5rem; font-weight: 800; text-transform: uppercase; }
.bs-recipe-import-fields input { width: 100%; border: 1px solid #cbd5e1; border-radius: .55rem; padding: .42rem .48rem; font-size: .61rem; }
.bs-recipe-missing-actions { display: grid; gap: .35rem; margin-top: .55rem; }
.bs-recipe-missing-actions button { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; border-radius: .6rem; background: #fff7ed; padding: .45rem .55rem; color: #9a3412; text-align: left; font-size: .57rem; font-weight: 850; }
.bs-recipe-missing-actions button small { width: 100%; color: #c2410c; font-size: .49rem; }
.bs-recipe-missing-actions .material-symbols-outlined { font-size: .85rem; }
.bs-recipe-confirm-editor { width: calc(100% - 3rem); margin: -.55rem 0 1rem 3rem; }
.bs-recipe-review-table { margin: -.55rem 0 1rem 3rem; overflow-x: auto; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; }
.bs-recipe-review-head, .bs-recipe-review-row { display: grid; min-width: 30rem; grid-template-columns: 2fr .65fr .65fr .9fr 2rem; gap: .3rem; align-items: center; padding: .42rem .5rem; }
.bs-recipe-review-head { background: #f8fafc; color: #64748b; font-size: .48rem; font-weight: 900; text-transform: uppercase; }
.bs-recipe-review-row { border-top: 1px solid #f1f5f9; }
.bs-recipe-review-row input { min-width: 0; border: 1px solid #cbd5e1; border-radius: .45rem; padding: .35rem .4rem; font-size: .55rem; }
.bs-recipe-review-row button { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: .45rem; background: #ede9fe; color: #6d28d9; }
.bs-recipe-review-row .material-symbols-outlined { font-size: .85rem; }
.bs-payment-action { margin: .65rem 0 1rem 3rem; border: 1px solid #ddd6fe; border-radius: .85rem; padding: .75rem; background: #fff; box-shadow: 0 10px 26px rgba(91,33,182,.07); }
.bs-payment-action-heading { display: flex; align-items: center; gap: .55rem; }
.bs-payment-action-heading > .material-symbols-outlined { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .6rem; background: #ede9fe; color: #6d28d9; font-size: 1rem; }
.bs-payment-action-heading strong, .bs-payment-action-heading small { display: block; }
.bs-payment-action-heading strong { color: #1e293b; font-size: .68rem; }
.bs-payment-action-heading small { margin-top: .1rem; color: #64748b; font-size: .54rem; }
.bs-payment-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: .7rem; }
.bs-payment-fields label > span { display: block; margin-bottom: .2rem; color: #64748b; font-size: .5rem; font-weight: 850; text-transform: uppercase; }
.bs-payment-fields input, .bs-payment-fields select { width: 100%; border: 1px solid #cbd5e1; border-radius: .55rem; padding: .45rem .5rem; background: #fff; font-size: .6rem; }
.bs-payment-amount { display: flex; align-items: center; overflow: hidden; border: 1px solid #cbd5e1; border-radius: .55rem; }
.bs-payment-amount > span { padding-left: .5rem; color: #64748b; font-size: .62rem; }
.bs-payment-amount input { min-width: 0; border: 0; }
.bs-payment-amount button { flex: 0 0 auto; padding: .45rem; color: #6d28d9; font-size: .5rem; font-weight: 900; }
.bs-payment-warning { grid-column: 1 / -1; display: flex; align-items: center; gap: .25rem; border-radius: .55rem; background: #fffbeb; padding: .45rem .55rem; color: #92400e; font-size: .53rem; line-height: 1.4; }
.bs-payment-warning .material-symbols-outlined { font-size: .8rem; }
.bs-payment-buttons { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: .4rem; margin-top: .1rem; }
.bs-payment-buttons button { border-radius: .58rem; background: #6d28d9; padding: .48rem .65rem; color: #fff; font-size: .55rem; font-weight: 900; }
.bs-payment-buttons button.is-secondary { border: 1px solid #ddd6fe; background: #fff; color: #6d28d9; }
.bs-payment-buttons button:disabled { background: #e2e8f0; color: #94a3b8; }
.bs-payment-review { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: .65rem; }
.bs-payment-review div { border-radius: .55rem; background: #f8fafc; padding: .45rem .5rem; }
.bs-payment-review dt { color: #64748b; font-size: .48rem; font-weight: 850; text-transform: uppercase; }
.bs-payment-review dd { margin-top: .12rem; color: #1e293b; font-size: .62rem; font-weight: 850; }
.bs-payment-complete { display: grid; grid-template-columns: auto 1fr; gap: .08rem .4rem; align-items: center; margin-top: .65rem; border-radius: .65rem; background: #ecfdf5; padding: .65rem; color: #047857; }
.bs-payment-complete .material-symbols-outlined { grid-row: 1 / 3; font-size: 1.2rem; }
.bs-payment-complete strong { font-size: .65rem; }
.bs-payment-complete small { font-size: .52rem; }
.bs-payment-inactive { margin-top: .65rem; border-radius: .55rem; background: #f8fafc; padding: .55rem; color: #64748b; font-size: .55rem; }
.bs-assistant-brief-sections { order: 1; display: grid; gap: .55rem; margin: .6rem 0 0 3rem; }
.bs-assistant-brief-sections > article { border: 1px solid #ddd6fe; border-radius: .85rem; padding: .7rem; background: #fff; box-shadow: 0 6px 18px rgba(76,29,149,.05); }
.bs-assistant-brief-sections > article.is-error { border-color: #fed7aa; background: #fffaf5; }
.bs-assistant-brief-sections header { display: flex; align-items: center; gap: .4rem; color: #312e81; }
.bs-assistant-brief-sections header .material-symbols-outlined { color: #16a34a; font-size: 1rem; }
.bs-assistant-brief-sections > article.is-error header .material-symbols-outlined { color: #ea580c; }
.bs-assistant-brief-sections header strong { font-size: .72rem; }
.bs-assistant-brief-sections > article > p { margin-top: .35rem; color: #475569; font-size: .65rem; line-height: 1.45; }
.bs-assistant-brief-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; margin-top: .55rem; }
.bs-assistant-brief-metrics span { border-radius: .65rem; padding: .45rem; background: #f8fafc; }
.bs-assistant-brief-metrics strong, .bs-assistant-brief-metrics small { display: block; }
.bs-assistant-brief-metrics strong { color: #4c1d95; font-size: .72rem; }
.bs-assistant-brief-metrics small { color: #64748b; font-size: .55rem; }
.bs-assistant-brief-links { display: grid; gap: .25rem; margin-top: .5rem; }
.bs-assistant-brief-links a { display: flex; justify-content: space-between; gap: .4rem; border-radius: .55rem; padding: .4rem .5rem; background: #f8fafc; color: #5b21b6; font-size: .62rem; font-weight: 800; }
.bs-assistant-brief-links a small { overflow: hidden; color: #64748b; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.bs-assistant-brief-actions { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .5rem; }
.bs-assistant-brief-actions a, .bs-assistant-brief-report { border-radius: 999px; padding: .38rem .55rem; background: #f5f3ff; color: #6d28d9; font-size: .6rem; font-weight: 850; }
.bs-assistant-brief-report { display: inline-flex; align-items: center; gap: .25rem; margin-top: .5rem; }
.bs-assistant-brief-report .material-symbols-outlined { font-size: .85rem; }
@media (min-width: 769px) { .bs-assistant-backdrop { display: none; } }
@media (max-width: 768px) {
    .bs-assistant-panel { top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: 92dvh; border-width: 1px 0 0; border-radius: 1.5rem 1.5rem 0 0; }
    .bs-assistant-panel::before { content: ''; width: 2.7rem; height: .25rem; margin: .5rem auto -.15rem; border-radius: 999px; background: #cbd5e1; }
    .bs-assistant-header { min-height: 4.65rem; padding: .7rem .8rem; }
    .bs-assistant-avatar { width: 2.75rem; height: 2.75rem; }
    .bs-assistant-header h2 { font-size: .82rem; }
    .bs-assistant-new-chat span:not(.material-symbols-outlined) { display: none; }
    .bs-assistant-new-chat { width: 2.45rem; padding: 0; }
    .bs-assistant-context-bar { padding-right: .8rem; padding-left: .8rem; }
    .bs-assistant-body { padding: 1rem .8rem; }
    .bs-assistant-home-prompts { grid-template-columns: 1fr; }
    .bs-assistant-message-user { margin-left: 2.5rem; }
    .bs-assistant-response-row { gap: .55rem; }
    .bs-assistant-avatar-message { width: 2rem; height: 2rem; }
    .bs-assistant-composer { padding-right: .8rem; padding-left: .8rem; }
    .bs-assistant-usage { align-items: flex-start; font-size: .55rem; }
    .bs-recipe-builder-choices, .bs-assistant-clarification-options, .bs-recipe-import-editor, .bs-recipe-confirm-editor, .bs-recipe-review-table, .bs-payment-action { width: 100%; margin-left: 0; }
    .bs-assistant-brief-sections { margin-left: 0; }
    .bs-recipe-import-fields { grid-template-columns: 1fr 1fr; }
    .bs-recipe-import-fields label:first-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .bs-assistant-thinking i { animation: none; } }
