:root{
--sfla-primary:#0A3460;--sfla-accent:#C6A04A;--sfla-panel-bg:#fff;--sfla-chat-bg:#f7f9fc;--sfla-user-bg:#e9eef7;--sfla-bot-bg:#fff;--sfla-text:#1c2d3f;--sfla-btn-text:#fff;--sfla-window-width:380px;--sfla-window-height:520px;--sfla-radius:22px;--sfla-launcher-size:62px;--sfla-launcher-radius:50%;--sfla-mobile-height:610px;--sfla-mobile-bottom:14px;--sfla-font-family:inherit;--sfla-base-font-size:14px;--sfla-message-font-size:14px;--sfla-input-font-size:14px;--sfla-button-font-size:13px;--sfla-title-font-size:15px;--sfla-action-radius:12px;--sfla-messages-min:80px;--sfla-messages-max:360px
}
#sfla-widget{position:fixed;bottom:22px;z-index:999999;font-family:var(--sfla-font-family);font-size:var(--sfla-base-font-size)}
#sfla-widget.sfla-right{right:22px}
#sfla-widget.sfla-left{left:22px}
#sfla-toggle{width:var(--sfla-launcher-size);height:var(--sfla-launcher-size);border-radius:var(--sfla-launcher-radius);border:0;background:var(--sfla-primary);color:#fff;font-size:26px;box-shadow:0 10px 30px rgba(0,0,0,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden}
#sfla-toggle img{width:100%;height:100%;object-fit:cover}
#sfla-panel,.sfla-inline{width:var(--sfla-window-width);max-width:calc(100vw - 28px);background:var(--sfla-panel-bg);border-radius:var(--sfla-radius);box-shadow:0 18px 55px rgba(0,0,0,.23);overflow:hidden;border:1px solid rgba(10,52,96,.12)}
#sfla-panel{height:var(--sfla-window-height);display:flex;flex-direction:column}
.sfla-inline{width:100%;max-width:760px;margin:20px auto;box-shadow:0 8px 25px rgba(0,0,0,.08);font-family:var(--sfla-font-family);font-size:var(--sfla-base-font-size)}
.sfla-head{color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.sfla-header-gradient{background:linear-gradient(135deg,var(--sfla-primary),#123f73)}
.sfla-header-solid{background:var(--sfla-primary)}
.sfla-header-light{background:#fff;color:var(--sfla-primary);border-bottom:1px solid #edf0f4}
.sfla-title-wrap{display:flex;align-items:center;gap:10px;font-size:var(--sfla-title-font-size)}
.sfla-logo{width:34px;height:34px;border-radius:10px;object-fit:cover;background:#fff}
#sfla-close{background:transparent;border:0;color:inherit;font-size:24px;cursor:pointer}
.sfla-messages{flex:1;overflow:auto;padding:15px;background:var(--sfla-chat-bg)}
.sfla-inline .sfla-messages{height:300px}
.sfla-msg{margin:0 0 12px;padding:11px 13px;border-radius:14px;line-height:1.8;font-size:var(--sfla-message-font-size);white-space:pre-wrap;color:var(--sfla-text)}
.sfla-user{background:var(--sfla-user-bg);margin-right:38px}
.sfla-bot{background:var(--sfla-bot-bg);border:1px solid #e5e9f0;margin-left:28px}
.sfla-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:10px 12px;background:var(--sfla-panel-bg);border-top:1px solid #edf0f4}
.sfla-suggestions button{border:1px solid rgba(10,52,96,.18);background:#fff;color:var(--sfla-primary);border-radius:999px;padding:7px 10px;font-size:var(--sfla-button-font-size);cursor:pointer}
.sfla-form-front{display:flex;gap:8px;padding:12px;background:var(--sfla-panel-bg);border-top:1px solid #edf0f4}
.sfla-form-front input{flex:1;border:1px solid #d8dee8;border-radius:12px;padding:11px;font-size:var(--sfla-input-font-size);color:var(--sfla-text);min-width:0;font-family:var(--sfla-font-family)}
.sfla-form-front button{border:0;background:var(--sfla-accent);color:var(--sfla-btn-text);border-radius:12px;padding:0 16px;cursor:pointer;font-weight:bold;font-size:var(--sfla-button-font-size);font-family:var(--sfla-font-family)}
.sfla-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.sfla-actions a{display:inline-block;text-decoration:none;background:var(--sfla-primary);color:var(--sfla-btn-text);border-radius:999px;padding:7px 12px;font-size:12px}
.sfla-actions a.sfla-sign{background:var(--sfla-accent)}
@media(max-width:600px){
#sfla-widget{bottom:var(--sfla-mobile-bottom)}
#sfla-widget.sfla-right{right:10px}
#sfla-widget.sfla-left{left:10px}
#sfla-panel{width:calc(100vw - 20px);height:min(var(--sfla-mobile-height), calc(100vh - 120px));border-radius:22px}
.sfla-head{padding:12px 14px}
.sfla-messages{height:auto;padding:12px}
.sfla-msg{font-size:13px;line-height:1.75}
.sfla-suggestions{padding:9px;gap:6px}
.sfla-suggestions button{font-size:12px;padding:7px 9px}
.sfla-form-front{padding:10px}
.sfla-form-front input{padding:10px}
.sfla-form-front button{padding:0 14px}
#sfla-toggle.sfla-hidden-open{display:none!important}
}

/* v1.4 stability and layout improvements */
#sfla-panel{display:flex;flex-direction:column}
#sfla-panel[style*="display: none"]{display:none!important}
.sfla-messages{min-height:0}
.sfla-msg.sfla-bot:first-child{margin-top:0}
.sfla-msg{box-shadow:0 1px 6px rgba(10,52,96,.04)}
.sfla-actions{justify-content:center}
.sfla-suggestions{max-height:92px;overflow:auto;align-content:flex-start}
.sfla-form-front{flex-shrink:0}
#sfla-panel .sfla-messages .sfla-bot:first-child{padding:10px 12px;line-height:1.7}
@media(min-width:601px){
    #sfla-toggle.sfla-hidden-open{display:none!important}
}
@media(max-width:600px){
    #sfla-toggle.sfla-hidden-open{display:none!important}
    #sfla-panel{height:min(var(--sfla-mobile-height), calc(100vh - 135px))}
    .sfla-suggestions{max-height:118px}
}

.sfla-msg a{color:var(--sfla-primary);font-weight:700;word-break:break-all}

/* v1.7 visual polish */
.sfla-messages{
    min-height:var(--sfla-messages-min)!important;
    max-height:var(--sfla-messages-max)!important;
    overflow-y:auto;
    scrollbar-width:thin;
}
.sfla-messages:empty{overflow:hidden}
#sfla-panel{background:var(--sfla-panel-bg)}
#sfla-panel .sfla-msg:first-child{
    max-width:92%;
    margin-inline:auto;
}
.sfla-actions{
    justify-content:center;
    gap:8px;
    margin-top:8px;
}
.sfla-actions a,
.sfla-actions a:visited,
.sfla-actions a:hover,
.sfla-actions a:focus{
    color:var(--sfla-btn-text)!important;
    text-decoration:none!important;
    border-radius:var(--sfla-action-radius)!important;
    line-height:1.2!important;
    box-shadow:none!important;
}
.sfla-btn-small .sfla-actions a{padding:7px 11px!important;font-size:12px!important}
.sfla-btn-medium .sfla-actions a{padding:8px 14px!important;font-size:13px!important}
.sfla-btn-large .sfla-actions a{padding:10px 17px!important;font-size:14px!important}
.sfla-suggestions-compact .sfla-suggestions{
    max-height:76px;
    padding:8px 10px;
    gap:6px;
}
.sfla-suggestions-compact .sfla-suggestions button{
    font-size:12px!important;
    padding:6px 9px!important;
    line-height:1.25!important;
}
.sfla-form-front button,
.sfla-form-front button:hover,
.sfla-form-front button:focus{
    color:var(--sfla-btn-text)!important;
}
@media(max-width:600px){
    .sfla-messages{max-height:calc(var(--sfla-mobile-height) - 190px)!important}
    .sfla-suggestions-compact .sfla-suggestions{max-height:82px}
}


/* v2.8 stable fixed-input layout */
#sfla-panel{
    flex-direction:column!important;
    overflow:hidden!important;
}

#sfla-panel.sfla-panel-open{
    display:flex!important;
}

#sfla-panel:not(.sfla-panel-open){
    display:none;
}

#sfla-panel .sfla-head{
    flex:0 0 auto!important;
}

#sfla-panel .sfla-messages{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:12px!important;
}

#sfla-panel .sfla-suggestions{
    flex:0 0 auto!important;
}

#sfla-panel .sfla-form-front{
    flex:0 0 auto!important;
    margin-top:auto!important;
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    z-index:20!important;
    background:var(--sfla-panel-bg)!important;
}

body.sfla-chat-open #sfla-toggle,
#sfla-toggle.sfla-hidden-open,
#sfla-widget #sfla-toggle.sfla-hidden-open{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}

@media(max-width:600px){
    #sfla-panel{
        height:min(var(--sfla-mobile-height), calc(100vh - 125px))!important;
    }
    #sfla-panel .sfla-messages{
        max-height:none!important;
    }
}
