/* Public assistant (2026-11-07): compact entry, spacious panel, keyboard-aware on phones (dynamic viewport units). */
.pa-root { font: 15px/1.5 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.pa-fab { position: fixed; z-index: 70; inset-inline-end: 20px; inset-block-end: 20px; min-height: 48px; padding: 0 18px; border: 0; border-radius: 999px;
  background: #123D32; color: #fff; font: 600 15px Inter, system-ui, sans-serif; box-shadow: 0 10px 30px rgba(18, 61, 50, .3); cursor: pointer; }
.pa-fab:focus-visible, .pa-panel button:focus-visible, .pa-panel a:focus-visible, .pa-panel input:focus-visible { outline: none; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #123D32; }
.pa-root.is-open .pa-fab { display: none; }
.pa-panel { position: fixed; z-index: 75; inset-inline-end: 20px; inset-block-end: 20px; width: min(400px, calc(100vw - 40px)); height: min(600px, calc(100dvh - 40px));
  display: flex; flex-direction: column; background: #fff; color: #182A31; border: 1px solid #DCDDD3; border-radius: 14px; box-shadow: 0 24px 60px rgba(18, 61, 50, .22); overflow: hidden; }
.pa-panel[hidden] { display: none; }
.pa-head { display: flex; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid #DCDDD3; background: #F7F6F0; }
.pa-head h2 { font: 650 1.05rem/1.3 Inter, system-ui, sans-serif; margin: 0; color: #123D32; }
.pa-head p { margin: 2px 0 0; font-size: .85rem; color: #586A70; }
.pa-close { min-width: 44px; min-height: 44px; border: 0; border-radius: 6px; background: #EEF0E8; color: #182A31; font-size: 1.3rem; cursor: pointer; }
.pa-log { flex: 1; overflow-y: auto; padding: 14px 16px; display: grid; align-content: start; gap: 10px; overscroll-behavior: contain; }
.pa-msg { max-width: 92%; padding: 10px 12px; border-radius: 12px; }
.pa-msg p { margin: 0; }
.pa-msg--bot { background: #F7F6F0; border: 1px solid #DCDDD3; justify-self: start; }
.pa-msg--me { background: #123D32; color: #fff; justify-self: end; }
.pa-links, .pa-suggest { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pa-link, .pa-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid #C3C6B8; background: #fff;
  color: #123D32; font: 600 13px Inter, system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.pa-q { margin: 8px 0 0; padding-inline-start: 18px; font-size: .92rem; }
.pa-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #DCDDD3; }
.pa-form input { flex: 1; min-height: 44px; padding: 0 12px; border: 1px solid #C3C6B8; border-radius: 8px; font: inherit; }
.pa-form button { min-height: 44px; padding: 0 16px; border: 0; border-radius: 8px; background: #123D32; color: #fff; font: 600 14px Inter, system-ui, sans-serif; cursor: pointer; }
.pa-note { margin: 0; padding: 0 14px 12px; font-size: .78rem; color: #586A70; }
.pa-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 560px) {
  .pa-fab { inset-inline-end: 14px; inset-block-end: 14px; padding: 0 16px; }
  .pa-panel { inset: auto 0 0 0; width: 100%; height: min(85dvh, 640px); border-radius: 16px 16px 0 0; }
}
/* Signed-in dashboards have a fixed bottom tab bar below 1024px: sit above it, and open over it */
@media (max-width: 1023px) {
  .pa-root[data-mode="account"] .pa-fab { inset-block-end: calc(78px + env(safe-area-inset-bottom)); z-index: 110; }
  .pa-root[data-mode="account"] .pa-panel { z-index: 120; }
}
@media print { .pa-root { display: none !important; } }
.pa-src { margin: 6px 0 0; font-size: .8rem; color: #586A70; }
