/* SITHM AI chat - bottom-left */
.sc-root{--sc-navy:var(--navy,#0A1D4D);--sc-gold:var(--gold,#C8A74E);position:fixed;left:18px;bottom:18px;z-index:1100;font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
/* the existing "back to top" button was also at bottom-left - lift it above the chat button */
#toTop{bottom:88px !important}

.sc-fab{width:58px;height:58px;border-radius:50%;border:0;background:var(--sc-navy);color:#fff;font-size:1.5rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(10,29,77,.38);position:relative;transition:transform .2s}
.sc-fab:hover{transform:scale(1.07)}
.sc-fab::after{content:"";position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:var(--sc-gold);border:2px solid #fff}
.sc-fab .sc-ico-close{display:none}
.sc-root.open .sc-fab .sc-ico-open{display:none}
.sc-root.open .sc-fab .sc-ico-close{display:block}
.sc-root.open .sc-fab::after{display:none}

.sc-panel{position:absolute;left:0;bottom:72px;width:370px;max-width:calc(100vw - 36px);height:520px;max-height:calc(100vh - 110px);background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;animation:scPop .2s ease-out}
.sc-panel[hidden]{display:none}
@keyframes scPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

.sc-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:var(--sc-navy);color:#fff}
.sc-avatar{width:38px;height:38px;border-radius:50%;background:var(--sc-gold);color:var(--sc-navy);display:grid;place-items:center;flex:none}
.sc-title{flex:1;min-width:0;line-height:1.2}
.sc-title strong{display:block;font-size:.95rem}
.sc-title span{font-size:.74rem;opacity:.8}
.sc-clear,.sc-x{background:transparent;border:0;color:#fff;opacity:.8;width:32px;height:32px;border-radius:8px;cursor:pointer}
.sc-clear:hover,.sc-x:hover{opacity:1;background:rgba(255,255,255,.12)}

.sc-body{flex:1;overflow-y:auto;padding:14px;background:#f5f6fa;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.sc-msg{max-width:86%;padding:9px 12px;border-radius:14px;font-size:.88rem;line-height:1.5;word-wrap:break-word;overflow-wrap:anywhere}
.sc-msg.bot{align-self:flex-start;background:#fff;color:#1d2433;border:1px solid #e6e8f0;border-bottom-left-radius:4px}
.sc-msg.user{align-self:flex-end;background:var(--sc-navy);color:#fff;border-bottom-right-radius:4px}
.sc-msg.err{background:#fff3f3;border-color:#f3c4c4;color:#8a1c1c}
.sc-msg a{color:#0b5ed7;text-decoration:underline}
.sc-msg.user a{color:#ffd86b}
.sc-msg ul{margin:.3rem 0 .1rem;padding-left:1.1rem}
.sc-msg p{margin:0 0 .4rem}.sc-msg p:last-child{margin:0}

.sc-typing{display:flex;gap:4px;align-items:center;padding:12px 14px}
.sc-typing i{width:7px;height:7px;border-radius:50%;background:#9aa3b8;animation:scDot 1.1s infinite}
.sc-typing i:nth-child(2){animation-delay:.18s}.sc-typing i:nth-child(3){animation-delay:.36s}
@keyframes scDot{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}

.sc-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px;background:#f5f6fa}
.sc-chips:empty{display:none}
.sc-chips button{border:1px solid var(--sc-navy);background:#fff;color:var(--sc-navy);font-size:.78rem;padding:5px 11px;border-radius:999px;cursor:pointer}
.sc-chips button:hover{background:var(--sc-navy);color:#fff}

.sc-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #e6e8f0;background:#fff}
.sc-form input{flex:1;min-width:0;border:1px solid #d5d9e6;border-radius:999px;padding:9px 14px;font-size:.9rem;outline:none}
.sc-form input:focus{border-color:var(--sc-navy);box-shadow:0 0 0 3px rgba(10,29,77,.12)}
.sc-form button{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--sc-gold);color:var(--sc-navy);cursor:pointer}
.sc-form button:disabled{opacity:.5;cursor:not-allowed}
.sc-foot{font-size:.68rem;color:#7a8296;text-align:center;padding:0 10px 8px;background:#fff}

@media (max-width:480px){
  .sc-root{left:12px;bottom:12px}
  .sc-panel{position:fixed;left:8px;right:8px;bottom:80px;width:auto;max-width:none;height:calc(100vh - 100px)}
  .sc-form input{font-size:16px} /* stops iPhone zoom-in */
}
