/* AI assistant panel */
.ai-only{display:none!important}
.ai-on .ai-only{display:inline-flex!important}
.aip{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:120;width:min(390px,calc(100vw - 24px));height:min(620px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 30px 70px -18px rgba(6,20,45,.55),0 0 0 1px rgba(11,33,71,.06);overflow:hidden;animation:aipIn .35s cubic-bezier(.2,.9,.3,1.2)}
.aip[hidden]{display:none}
@keyframes aipIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.aip-h{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:linear-gradient(120deg,var(--navy),var(--navy-3,#1E4A8C));color:#fff}
.aip-av{width:38px;height:38px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--gold-l)}
.aip-t{flex:1;min-width:0;display:grid}
.aip-t b{font-family:var(--f-head);font-weight:500;font-size:15.5px}
.aip-t small{font-size:11.5px;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:5px}
.aip-t .dot{width:7px;height:7px;border-radius:50%;background:#3DDC84}
.aip-q{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;flex:none}
.aip-q:hover{background:rgba(255,255,255,.24)}
.aip-q .ic{width:17px;height:17px}
.aip-b{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:8px;background:var(--cream,#FBF8F3);overscroll-behavior:contain}
.aip-m{max-width:88%;padding:9px 12px;border-radius:14px;font-size:14.5px;line-height:1.55;overflow-wrap:anywhere}
.aip-m.ai{align-self:flex-start;background:#fff;color:var(--ink);border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(11,33,71,.06)}
.aip-m.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.aip-m.typing{display:flex;gap:4px;padding:12px 14px}
.aip-m.typing i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:aipDot 1s infinite}
.aip-m.typing i:nth-child(2){animation-delay:.15s}.aip-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes aipDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.aip-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.aip-chips button{border:1px solid var(--gold-l);background:#fff;color:var(--navy);border-radius:999px;padding:6px 12px;font:inherit;font-family:var(--f-head);font-size:13px;cursor:pointer}
.aip-chips button:hover{background:var(--gold-50)}
.aip-cards{display:grid;gap:6px;margin-top:8px}
.aip-card{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:6px;border-radius:10px;border:1px solid var(--line);background:#fff;color:inherit}
.aip-card:hover{border-color:var(--gold)}
.aip-card .th{width:44px;height:56px;border-radius:6px;background:var(--navy-2,#13356B) center top/cover}
.aip-card b{display:block;font-family:var(--f-head);font-weight:500;color:var(--navy);font-size:13.5px;line-height:1.3}
.aip-card small{display:block;font-size:12px;color:var(--muted);line-height:1.35}
.aip-card em{font-style:normal;font-size:12px;color:var(--gold-d);font-family:var(--f-head)}
.aip-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.aip-acts.end{align-self:center;margin:0}
.aip-acts .link{background:none;border:0;color:var(--gold-d);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.aip-ho{align-self:stretch;display:grid;gap:6px;background:#fff;border-radius:14px;padding:12px;box-shadow:0 2px 8px rgba(11,33,71,.06);font-size:13px}
.aip-ho b{font-family:var(--f-head);font-weight:500;color:var(--navy)}
.aip-ho .inp{padding:8px 10px}
.aip-ho label{display:flex;gap:6px;align-items:flex-start}
.aip-ho .err{min-height:0;font-size:12.5px}
.aip-f{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.aip-f[hidden]{display:none}
.aip-f input{flex:1;min-width:0;border:1px solid #C9D0DB;border-radius:999px;padding:10px 14px;font:inherit;font-size:14.5px;outline:none}
.aip-f input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,92,.2)}
.aip-f button{width:42px;height:42px;border-radius:50%;border:0;background:var(--gold);color:var(--navy);display:grid;place-items:center;cursor:pointer;flex:none}
.aip-f button .ic{width:19px;height:19px}
.aip-n{margin:0;padding:0 12px 9px;background:#fff;font-size:10.5px;color:var(--muted);text-align:center}
.aip-n a{color:var(--muted);text-decoration:underline}
.aip-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:110;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;border:0;cursor:pointer;background:var(--navy);color:#fff;font-family:var(--f-head);font-size:14.5px;box-shadow:0 14px 30px -10px rgba(6,20,45,.6);animation:aipIn .5s cubic-bezier(.2,.9,.3,1.3) .4s both}
.aip-fab .ic{width:19px;height:19px;color:var(--gold-l)}
.aip-fab:hover{background:var(--navy-2,#13356B)}
.aip-open .aip-fab{display:none}
@media (max-width:860px){.aip-fab.portal{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
@media (max-width:560px){
  .aip{right:0;bottom:0;width:100%;height:100%;height:100dvh;border-radius:0}
  .aip-fab{right:12px;padding:11px 14px;font-size:13.5px}
  .aip-fab span{display:none}
  .aip-fab{width:50px;height:50px;padding:0;justify-content:center}
}
