/* SISA AI front end. Flat house style: brand tokens, pill buttons,
   no borders, no shadows except the floating chat panel. */

:root{
  --sisa-ai-green:#006B34;
  --sisa-ai-gold:#F2C218;
  --sisa-ai-ink:#111111;
  --sisa-ai-secondary:#4A5560;
  --sisa-ai-grey:#FAFAFA;
  --sisa-ai-dark:#0A2F1D;
  --sisa-ai-head:'Jost',system-ui,sans-serif;
  --sisa-ai-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

/* ---- Doc row actions ---- */
.sisa-ai-docactions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 16px;padding-left:24px}
.sisa-ai-docactions--btn{padding-left:0;margin-top:14px}
.sisa-ai-docactions--btn+.sisa-ai-summary{text-align:left}
.sisa-ai-pill{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;border-radius:28px;padding:9px 20px;font-family:var(--sisa-ai-body);font-weight:600;font-size:14px;line-height:1.2;text-decoration:none;transition:opacity .15s;background:#EFF3F0;color:var(--sisa-ai-green)}
.sisa-ai-pill:hover{opacity:.85}
.sisa-ai-pill--solid{background:var(--sisa-ai-green);color:#fff}
.sisa-ai-pill svg{flex:0 0 auto}

/* ---- Quick view panel ---- */
.sisa-ai-summary{display:none;background:var(--sisa-ai-grey);border-radius:16px;padding:20px 24px;margin:0 0 16px}
.sisa-ai-summary.is-open{display:block}
.sisa-ai-summary__label{font-family:var(--sisa-ai-head);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sisa-ai-green);margin:0 0 8px}
.sisa-ai-summary__body{font-family:var(--sisa-ai-body);color:var(--sisa-ai-ink);font-size:15px;line-height:1.65;margin:0}
.sisa-ai-summary__body p{margin:0 0 10px}
.sisa-ai-summary__body p:last-child{margin-bottom:0}
.sisa-ai-summary__note{font-size:12px;color:var(--sisa-ai-secondary);margin:10px 0 0}

/* ---- Floating assistant pill ---- */
.sisa-ai-fab{position:fixed;right:20px;bottom:20px;z-index:9990;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;border-radius:32px;padding:14px 26px;background:var(--sisa-ai-green);color:#fff;font-family:var(--sisa-ai-body);font-weight:600;font-size:15px;transition:opacity .15s}
.sisa-ai-fab:hover{opacity:.9}
.sisa-ai-fab.is-hidden{display:none}

/* ---- Chat panel ---- */
.sisa-ai-overlay{position:fixed;inset:0;z-index:9995;background:rgba(10,47,29,.45);display:none}
.sisa-ai-overlay.is-open{display:block}
.sisa-ai-panel{position:fixed;right:20px;bottom:20px;z-index:9999;width:min(400px,calc(100vw - 24px));height:min(600px,calc(100vh - 40px));display:none;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 60px rgba(10,47,29,.28)}
.sisa-ai-panel.is-open{display:flex}
.sisa-ai-panel__head{background:var(--sisa-ai-green);color:#fff;padding:18px 22px;display:flex;align-items:flex-start;gap:12px}
.sisa-ai-panel__titles{flex:1;min-width:0}
.sisa-ai-panel__title{font-family:var(--sisa-ai-head);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.5px;margin:0;line-height:1.2}
.sisa-ai-panel__sub{font-family:var(--sisa-ai-body);font-size:12.5px;margin:4px 0 0;opacity:.85;line-height:1.4}
.sisa-ai-panel__reset{flex:0 0 auto;border:0;cursor:pointer;background:rgba(255,255,255,.16);color:#fff;border-radius:16px;padding:7px 14px;font-family:var(--sisa-ai-body);font-weight:600;font-size:12px;line-height:1.2}
.sisa-ai-panel__reset:hover{background:rgba(255,255,255,.28)}
.sisa-ai-panel__close{flex:0 0 auto;border:0;cursor:pointer;background:rgba(255,255,255,.16);color:#fff;border-radius:50%;width:32px;height:32px;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.sisa-ai-panel__close:hover{background:rgba(255,255,255,.28)}
.sisa-ai-panel__log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:#fff}
.sisa-ai-msg{max-width:85%;border-radius:16px;padding:10px 14px;font-family:var(--sisa-ai-body);font-size:14.5px;line-height:1.55;white-space:pre-line;overflow-wrap:break-word}
.sisa-ai-msg--user{align-self:flex-end;background:var(--sisa-ai-green);color:#fff;border-bottom-right-radius:4px}
.sisa-ai-msg--ai{align-self:flex-start;background:var(--sisa-ai-grey);color:var(--sisa-ai-ink);border-bottom-left-radius:4px}
.sisa-ai-msg--ai a{color:var(--sisa-ai-green);font-weight:600;text-decoration:underline}
.sisa-ai-msg--error{align-self:flex-start;background:#FBEDEF;color:#8F1838}
.sisa-ai-typing{align-self:flex-start;background:var(--sisa-ai-grey);border-radius:16px;border-bottom-left-radius:4px;padding:14px 16px;display:none;gap:5px}
.sisa-ai-typing.is-on{display:inline-flex}
.sisa-ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--sisa-ai-secondary);opacity:.4;animation:sisaAiBlink 1.2s infinite}
.sisa-ai-typing span:nth-child(2){animation-delay:.2s}
.sisa-ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes sisaAiBlink{0%,80%,100%{opacity:.25}40%{opacity:.9}}
.sisa-ai-panel__form{display:flex;gap:10px;padding:14px 18px 8px;background:#fff}
.sisa-ai-panel__input{flex:1;border:0;background:var(--sisa-ai-grey);border-radius:24px;padding:12px 18px;font-family:var(--sisa-ai-body);font-size:14.5px;color:var(--sisa-ai-ink);outline-offset:2px}
.sisa-ai-panel__send{border:0;cursor:pointer;border-radius:24px;padding:12px 22px;background:var(--sisa-ai-green);color:#fff;font-family:var(--sisa-ai-body);font-weight:600;font-size:14px;transition:opacity .15s}
.sisa-ai-panel__send:hover{opacity:.9}
.sisa-ai-panel__send:disabled{opacity:.5;cursor:default}
.sisa-ai-panel__disclaimer{font-family:var(--sisa-ai-body);font-size:11px;color:var(--sisa-ai-secondary);text-align:center;margin:0;padding:6px 18px 14px;line-height:1.4}

/* Background scroll lock while the mobile chat is open. */
body.sisa-ai-lock{overflow:hidden;touch-action:none}
body.sisa-ai-lock .sisa-totop{display:none}

@media (max-width:600px){
  .sisa-ai-fab{right:14px;bottom:14px;padding:12px 20px;font-size:14px}
  /* Full-screen chat, anchored to the TOP so the on-screen keyboard cannot
     push it around. Height tracks the visual viewport (JS) with a dvh
     fallback, so the input always sits just above the keyboard. */
  .sisa-ai-panel{top:0;left:0;right:0;bottom:auto;width:100vw;height:100vh;height:100dvh;border-radius:0}
  .sisa-ai-panel__log{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  /* 16px stops iOS zooming the page when the input is focused. */
  .sisa-ai-panel__input{font-size:16px}
  .sisa-ai-docactions{padding-left:0}
}
