
#asi-chat-root { position: fixed; bottom: 5%; right: 5%; z-index: 2147483000; }
.asi-chat-button { width: 60px; height: 60px; border-radius: 50%; border: none; box-shadow: 0 8px 24px rgba(0,0,0,.2); cursor: pointer; }
.asi-chat-window { width: 90%; max-height: 90vh; background: #fff; border-radius: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.25); overflow: hidden; display: none; flex-direction: column;     margin: 5vh 5%; position: relative; }
.asi-disclaimer-backdrop { position: absolute; inset: 0; background: #00000033; display: none; align-items: center; justify-content: center; padding: 20px; z-index: 5; }
.asi-open .asi-disclaimer-backdrop.visible { display: flex; }
.asi-disclaimer-card { background: #fff; border-radius: 16px; padding: 24px; max-width: 840px; width: 100%; box-shadow: 0 12px 30px rgba(8, 30, 107, 0.25); text-align: left; }
.asi-disclaimer-card h2 { font-size: 20px; margin-bottom: 12px; color: #081e6b; }
.asi-disclaimer-card p { margin-bottom: 16px; line-height: 1.5; color: #1f2937; }
.asi-disclaimer-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.asi-disclaimer-buttons button { flex: 1 1 160px; padding: 10px 16px; border-radius: 999px; border: none; font-weight: 600; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; }
.asi-disclaimer-accept { background: #0b6efd; color: #fff; }
.asi-disclaimer-accept:hover { background: #0957c6; }
.asi-disclaimer-decline { background: #e2e8f0; color: #1f2937; }
.asi-disclaimer-decline:hover { background: #cbd5e1; }
.asi-disclaimer-note { margin: 10px 0 0; color: #1f2937; font-size: 14px; display: none; }
.asi-disclaimer-note a { color: #0b6efd; font-weight: 600; text-decoration: none; }
.asi-disclaimer-note a:hover { text-decoration: underline; }
.asi-disclaimer-note.visible { display: block; }

p#asi-disclaimer-note {
    background: #6495ed73;
    border-radius: 15px;
    padding: 10px 20px;
    font-weight: bold;
}

#asi-disclaimer-text {
    overflow-y: auto;
    max-height: 70vh;
}
div#asiAgreement {
    overflow-y: scroll;
    max-height: 50vh;
}

span.small {
    font-size: .8rem;
    font-style: italic;
}

.asi-chat-header { display:inline-flex; align-items:center; justify-content:space-between; padding:0px 14px; background:linear-gradient(180deg,#ffffff 0%,#00c4e4 40%,#000e75 100%)!important; color:#fff; }
img.ASI-ASK { max-height: 80px; }
.asi-chat-body { padding:12px; overflow-y:auto; height: 90vh; background:#f8fafc; }
.asi-chat-footer { padding:10px; border-top:1px solid #e5e7eb; background:#fff; }
/*
.asi-msg { margin:8px 0; display:flex; gap:8px; }
.asi-msg.user { justify-content:flex-end; }
*/
/*
.asi-bubble { max-width: 80%; padding:10px 12px; border-radius:14px; background:#fff; border:1px solid #e5e7eb; }
.asi-msg.user .asi-bubble { background:#0b6efd; color:#fff; border-color:#0b6efd; }
*/
.asi-chiprow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.asi-chip{ 
    border: 1px solid #272c87;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    cursor: pointer;
    background: #fff;
    font-weight: bolder;
    color: #272c87;
}
.asi-chip#asi-yes { 
    color: #fff;
    background: #272c87;
}
.asi-row{ display:flex; gap:8px; }
.asi-input{ flex:1; border:1px solid #e5e7eb; border-radius:12px; padding:10px 12px; }
.asi-send{ border:none; background:#0b6efd; color:#fff; padding:10px 14px; border-radius:12px; cursor:pointer; }
.asi-tools{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.asi-mini{ font-size:12px; }
.asi-upload{ font-size:12px; }
.asi-confirm{ 
    display:none; 
    padding:8px; 
    border: 3px solid #272c87;     
    background: #6495ed52;
    padding: 20px;
    margin: 10px;
    border-radius: 15px;  
}
.asi-endbtn{ background:#ef4444; color:#fff; border:none; padding:6px 10px; border-radius:8px; cursor:pointer; }
.asi-open .asi-chat-window{ display:inline-flex; }
.asi-bubble button {
    background: #1f2c8c;
    color: #fff;
    padding: 5px;
    margin: 5px 0px;
    width: 100%;
    border-radius: 8px;
    cursor: pointer;
}
.asi-bubble button:disabled,
input#asi-input:disabled {
    cursor: not-allowed;
}
html.asi-chat-no-scroll, body.asi-chat-no-scroll { overflow: hidden; }

.asi-chat-no-scroll div#asi-chat-root {
    top: 0;
    left: 0;
    width: 100%;
    background: #6666;
    height: 100%;
    right: 0;
    bottom: 0;
}
.asi-chat-no-scroll button.asi-chat-button {
    position: absolute;
    right: 1%;
    top: 1%;
    z-index: 1;
}
.asi-chat-no-scroll button.asi-chat-button img {
    display:none;
}
button.asi-chat-button .close { 
    display: none;    
    font-size: 2rem;
    font-weight: bolder;
    color: red;
}
.asi-chat-no-scroll button.asi-chat-button .close {
    display:block;
}


.asi-msg {
    padding: 10px 60px;
    position: relative;
    width: 50%;
}
.asi-msg.user {
    left:50%;
}

.asi-msg .header-content {
    text-align: center;
    color: #fff;
    width: 97%;
    padding: 5px;
    height: 40px;
    background-color: #FEC006;
    position: relative;
    text-transform: capitalize;
}

.asi-msg .header-content:before {
    content: " ";
    position: absolute;
    top: 0px;
    left: -40px;
    border: 20px solid transparent;
    border-right-color: #FEC006;
}
.asi-msg .header-content.user:before {
    border-right-color:#6f90e7;
}
.asi-msg .header-content:after {
    content: " ";
    position: absolute;
    right: 0px;
    top: 40px;
    border-color: transparent;
    border-style: solid;
    border-width: 0px 0px 20px 20px;
    border-left-color: #E7DB21;
}
.asi-msg .header-content.user:after {
    border-left-color:#031443;
}

.asi-msg .header-content.user {
    background-color: #6f90e7;
}
.asi-msg .asi-bubble {
    padding: 20px;
    background-color: #FFF;
    position: relative;
    width: 90%;
    margin: 0px 0px 0px 20px;
    border: 1px solid #ccc;
    border-radius: 0px 0px 15px 15px;
}




.asi-msg img.timeline-photo {
    position: absolute;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 5px solid #fff;
    right: -40px;
    top: -20px;
    z-index: 1;
    background-color: #fff;
    border-color: #2c2f6c;
}

.asi-msg.user img.timeline-photo {
    left: -60px;
    right: unset;
}
@media (min-width: 720px) {
    
    .asi-msg .header-content.assistant:before {
        content: " ";
        position: absolute;
        top: 0px;
        right: -40px;
        border: 20px solid transparent;
        border-left-color: #FEC006;
        left:unset;
    }

    .asi-msg .header-content.assistant:after {
        content: " ";
        position: absolute;
        left: 0px;
        top: 40px;
        border-color: transparent;
        border-style: solid;
        border-width: 0px 20px 20px 0px;
        border-right-color: #E7DB21;
        right:unset;
    }

    
}
@media (max-width: 720px) {
    .asi-msg img.timeline-photo {
        width: 50px;
        height: 50px;
        top: 5px;
        left:20px;
        border-width: 3px;
    }
    
    .asi-msg {
        padding: 10px 60px;
        position: relative;
        width: 100%;
        left: 0% !important;
    }
    .asi-msg img.timeline-photo {
        left: 20px !important;
    }
}


.ring-pulse { position: relative; box-shadow: 0 10px 25px rgba(8, 30, 107, .25); }
.ring-pulse::before, .ring-pulse::after { content: ""; position: absolute; inset: -8px; border-radius: 9999px; border: 2px solid rgba(255,255,255,.55); opacity: .6; }
.ring-pulse::after { inset: -14px; opacity: .35; }
@media (prefers-reduced-motion: no-preference) {
  .ring-pulse::before { animation: pulse1 2.3s ease-out infinite; }
  .ring-pulse::after { animation: pulse2 2.3s ease-out infinite; }
  @keyframes pulse1 { 0%{transform:scale(.9); opacity:.9} 70%{transform:scale(1.1); opacity:0} 100%{opacity:0} }
  @keyframes pulse2 { 0%{transform:scale(.8); opacity:.6} 70%{transform:scale(1.2); opacity:0} 100%{opacity:0} }
}
  