.pn-chatbot,
.pn-chatbot *{
    box-sizing:border-box;
}

.pn-chatbot{
    --pn-chatbot-panel-right:24px;
    --pn-chatbot-panel-top:16px;
    --pn-chatbot-panel-bottom:24px;
    --pn-chatbot-panel-height:min(620px, calc(100vh - 40px));
    --pn-chatbot-panel-max-height:calc(100vh - 40px);
    position:fixed;
    right:24px;
    bottom:164px;
    z-index:9998;
    font-family:inherit;
}

.pn-chatbot-sr{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    border:0;
}

@keyframes pn-chatbot-online-wave{
    0%{
        transform:scale(.72);
        opacity:.82;
    }
    72%{
        transform:scale(2.4);
        opacity:0;
    }
    100%{
        transform:scale(2.4);
        opacity:0;
    }
}

.pn-chatbot-toggle{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    padding:0;
    border:1px solid rgba(143,42,14,.18);
    border-radius:22px;
    background:linear-gradient(145deg,#8f2a0e 0%,#aa4216 52%,#c87b28 100%);
    color:#fffdf8;
    box-shadow:0 18px 36px rgba(102,33,11,.24), 0 6px 14px rgba(0,0,0,.10);
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
    overflow:hidden;
}

.pn-chatbot-toggle:hover{
    transform:translateY(-2px);
    box-shadow:0 24px 42px rgba(102,33,11,.28), 0 10px 18px rgba(0,0,0,.12);
    filter:saturate(1.04);
}

.pn-chatbot-toggle:focus-visible,
.pn-chatbot-close:focus-visible,
.pn-chatbot-send:focus-visible,
.pn-chatbot-quick:focus-visible,
.pn-chatbot-input:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px rgba(233,188,105,.24);
}

.pn-chatbot-toggle-icon,
.pn-chatbot-toggle-icon svg{
    width:24px;
    height:24px;
    display:block;
}

.pn-chatbot-toggle-ping{
    position:absolute;
    top:11px;
    right:11px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#f8d889;
    box-shadow:0 0 0 4px rgba(248,216,137,.16);
    z-index:2;
}

.pn-chatbot-toggle-ping::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    background:rgba(248,216,137,.48);
    transform-origin:center;
    animation:pn-chatbot-online-wave 1.9s ease-out infinite;
}

.pn-chatbot-toggle-glow{
    position:absolute;
    inset:auto -18px -26px auto;
    width:72px;
    height:72px;
    background:radial-gradient(circle, rgba(255,230,186,.45) 0%, rgba(255,230,186,0) 72%);
    pointer-events:none;
}

.pn-chatbot-box{
    display:none;
    position:fixed;
    right:var(--pn-chatbot-panel-right);
    top:var(--pn-chatbot-panel-top);
    width:min(404px, calc(100vw - 28px));
    height:var(--pn-chatbot-panel-height);
    max-width:calc(100vw - 28px);
    max-height:var(--pn-chatbot-panel-max-height);
    border:1px solid rgba(164,74,22,.14);
    border-radius:28px;
    background:linear-gradient(180deg,#fffdfa 0%,#fff8ef 100%);
    overflow:hidden;
    box-shadow:0 28px 72px rgba(77,27,10,.22), 0 14px 28px rgba(0,0,0,.10);
}

.pn-chatbot-box::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:1px;
    background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,239,210,.9),rgba(255,255,255,.34));
    z-index:2;
}

.pn-chatbot.is-open .pn-chatbot-box{
    display:flex;
    flex-direction:column;
}

.pn-chatbot-header{
    position:relative;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:18px 18px 17px;
    background:linear-gradient(135deg,#85270f 0%,#9d3814 44%,#c27c2c 100%);
    color:#fffefb;
}

.pn-chatbot-header-copy{
    min-width:0;
}

.pn-chatbot-header-badge{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    margin-bottom:10px;
    border:1px solid rgba(255,241,220,.22);
    border-radius:999px;
    background:rgba(255,246,232,.12);
    color:#fff7ef;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.pn-chatbot-header strong{
    display:block;
    margin:0;
    font-size:19px;
    line-height:1.18;
    font-weight:700;
    letter-spacing:.01em;
}

.pn-chatbot-header small{
    display:block;
    margin-top:7px;
    font-size:12.5px;
    line-height:1.5;
    color:rgba(255,248,239,.84);
}

.pn-chatbot-close{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid rgba(244,224,197,.58);
    border-radius:50%;
    background:rgba(255,250,242,.96);
    color:#7d2a11;
    box-shadow:0 10px 22px rgba(83,24,8,.18);
    cursor:pointer;
    transition:transform .18s ease, background .18s ease, color .18s ease;
}

.pn-chatbot-close:hover{
    transform:translateY(-1px);
    background:#fff5e7;
    color:#68210d;
}

.pn-chatbot-close-icon,
.pn-chatbot-close-icon svg{
    width:18px;
    height:18px;
    display:block;
}

.pn-chatbot-body{
    flex:1 1 auto;
    min-height:0;
    padding:16px 16px 12px;
    overflow-y:auto;
    overflow-x:hidden;
    background:linear-gradient(180deg,#fffdfa 0%,#fff8ef 100%);
    scrollbar-width:thin;
    scrollbar-color:#d9b487 #f7ecdf;
    overscroll-behavior:contain;
}

.pn-chatbot-body::-webkit-scrollbar{
    width:8px;
}

.pn-chatbot-body::-webkit-scrollbar-track{
    background:#f7ecdf;
    border-radius:999px;
}

.pn-chatbot-body::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#c88a49,#aa4a1c);
    border-radius:999px;
}

.pn-chatbot-message{
    position:relative;
    margin:0 0 10px;
    padding:12px 14px;
    border-radius:18px;
    font-size:13.5px;
    line-height:1.58;
    color:#2f2d2b;
    text-align:left;
    word-wrap:break-word;
    overflow-wrap:anywhere;
    box-shadow:0 8px 18px rgba(74,32,13,.06);
}

.pn-chatbot-message-bot{
    margin-right:18px;
    border:1px solid #eadbcf;
    border-bottom-left-radius:8px;
    background:#fffdfb;
}

.pn-chatbot-body > .pn-chatbot-message-bot:first-child{
    border-color:#ebd9c3;
    background:linear-gradient(180deg,#fffdf9 0%,#fff7ec 100%);
    box-shadow:0 14px 30px rgba(125,53,18,.08);
}

.pn-chatbot-message-user{
    margin-left:54px;
    border:1px solid #f1c88f;
    border-bottom-right-radius:8px;
    background:linear-gradient(180deg,#fff2df 0%,#ffe6c3 100%);
    color:#5d2610;
}

.pn-chatbot-message-loading{
    font-style:italic;
    color:#7a6859;
}

.pn-chatbot-result{
    font-size:13px;
    line-height:1.5;
    color:#2f2f2f;
    text-align:left;
}

.pn-chatbot-result-title{
    margin:0 0 10px;
    padding-bottom:7px;
    border-bottom:1px solid #f0e3d6;
    color:#8f2a0e;
    font-size:14px;
    font-weight:700;
}

.pn-chatbot-result-item{
    margin-top:9px;
    padding:12px;
    border:1px solid #e9d9ca;
    border-radius:16px;
    background:#fff;
}

.pn-chatbot-result-item:first-of-type{
    margin-top:0;
}

.pn-chatbot-result-subtitle{
    margin-bottom:8px;
    color:#4c3b30;
    font-size:12px;
    font-weight:700;
}

.pn-chatbot-result-row{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    column-gap:10px;
    row-gap:2px;
    align-items:flex-start;
    margin-bottom:7px;
}

.pn-chatbot-result-row:last-child{
    margin-bottom:0;
}

.pn-chatbot-result-label{
    color:#6a594d;
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}

.pn-chatbot-result-value{
    min-width:0;
    color:#262320;
    font-size:12.5px;
    line-height:1.45;
}

.pn-chatbot-result-note{
    margin-top:9px;
    padding:10px 11px;
    border-left:3px solid #cf8a34;
    border-radius:10px;
    background:#fff5e7;
    color:#4f3c2d;
}

.pn-chatbot-result-source{
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid #efe2d6;
    color:#7a716a;
    font-size:10.5px;
}

.pn-chatbot-quick-wrap{
    margin:0 0 10px;
    padding:12px;
    border:1px solid #eadacc;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 18px rgba(74,32,13,.05);
}

.pn-chatbot-quick-title{
    margin-bottom:9px;
    color:#8f2a0e;
    font-size:12px;
    font-weight:700;
}

.pn-chatbot-quick-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.pn-chatbot-quick{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 11px;
    border:1px solid #f1c98f;
    border-radius:999px;
    background:#fff8ee;
    color:#6b2a0f;
    font-size:11.5px;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
    transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.pn-chatbot-quick:hover{
    transform:translateY(-1px);
    border-color:#be6a24;
    background:linear-gradient(135deg,#8f2a0e 0%,#b65418 100%);
    color:#fff;
    box-shadow:0 12px 20px rgba(143,42,14,.16);
}

.pn-chatbot-quick:disabled{
    opacity:.62;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

.pn-chatbot-disclaimer{
    display:flex;
    flex:0 0 auto;
    align-items:flex-start;
    gap:8px;
    padding:10px 14px;
    border-top:1px solid #efdfcf;
    background:#fff4e3;
    color:#765e46;
    font-size:11.5px;
    line-height:1.48;
}

.pn-chatbot-disclaimer-icon,
.pn-chatbot-disclaimer-icon svg{
    width:15px;
    height:15px;
    flex:0 0 auto;
    display:block;
    margin-top:1px;
    color:#a86b22;
}

.pn-chatbot-form{
    display:grid;
    flex:0 0 auto;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:stretch;
    padding:14px;
    background:rgba(255,255,255,.96);
    border-top:1px solid #efe2d6;
}

.pn-chatbot-input{
    width:100%;
    min-height:56px;
    resize:none;
    padding:14px 16px;
    border:1px solid #e8d7c4;
    border-radius:16px;
    background:#fff;
    color:#322d29;
    font:inherit;
    font-size:13.5px;
    line-height:1.48;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.02);
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.pn-chatbot-input::placeholder{
    color:#a89c90;
}

.pn-chatbot-input:focus{
    outline:none;
    border-color:#cb8c40;
    background:#fffdfa;
    box-shadow:0 0 0 4px rgba(233,188,105,.14);
}

.pn-chatbot-form .pn-chatbot-send{
    position:relative;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:124px;
    min-height:56px;
    padding:0 18px;
    border:1px solid rgba(143,42,14,.14) !important;
    border-radius:16px;
    background-color:#9a3412 !important;
    background-image:linear-gradient(135deg,#8f2a0e 0%,#aa4216 48%,#c97b28 100%) !important;
    color:#fffdf7 !important;
    font:inherit;
    font-size:13px;
    font-weight:700;
    text-decoration:none !important;
    text-shadow:none;
    cursor:pointer;
    box-shadow:0 16px 26px rgba(143,42,14,.18);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
    -webkit-appearance:none;
    appearance:none;
}

.pn-chatbot-form .pn-chatbot-send:hover{
    transform:translateY(-1px);
    box-shadow:0 20px 30px rgba(143,42,14,.22);
    filter:saturate(1.03);
}

.pn-chatbot-form .pn-chatbot-send:disabled{
    opacity:.68;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

.pn-chatbot-send-content{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px;
    width:auto !important;
    max-width:none !important;
    white-space:nowrap;
    line-height:1;
    float:none !important;
}

.pn-chatbot-send-text{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:none !important;
    color:inherit !important;
    font-size:13px;
    font-weight:700;
    line-height:1;
    letter-spacing:.01em;
    float:none !important;
}

.pn-chatbot-send-icon,
.pn-chatbot-send-icon svg{
    width:15px;
    height:15px;
    display:block;
    flex:0 0 auto;
    color:inherit !important;
    float:none !important;
}

.pn-chatbot-message-quick{
}

.pn-chatbot-message-manual{
}

@media(max-width:520px){
    .pn-chatbot{
        --pn-chatbot-panel-right:12px;
        --pn-chatbot-panel-top:12px;
        --pn-chatbot-panel-bottom:74px;
        --pn-chatbot-panel-height:calc(100vh - 86px);
        --pn-chatbot-panel-max-height:calc(100vh - 86px);
        right:8px;
        bottom:142px;
    }

    .pn-chatbot-toggle{
        width:54px;
        height:54px;
        border-radius:18px;
    }

    .pn-chatbot-box{
        position:fixed;
        top:var(--pn-chatbot-panel-top);
        right:var(--pn-chatbot-panel-right);
        width:min(calc(100vw - 24px),340px);
        max-width:calc(100vw - 24px);
        height:var(--pn-chatbot-panel-height);
        border-radius:22px;
    }

    .pn-chatbot-header{
        padding:16px 16px 15px;
    }

    .pn-chatbot-header strong{
        font-size:17px;
    }

    .pn-chatbot-close{
        width:38px;
        height:38px;
    }

    .pn-chatbot-body{
        padding:14px 14px 10px;
    }

    .pn-chatbot-message-user{
        margin-left:22px;
    }

    .pn-chatbot-result-row{
        grid-template-columns:1fr;
        row-gap:1px;
    }

    .pn-chatbot-form{
        grid-template-columns:1fr;
        padding:12px;
        gap:9px;
    }

    .pn-chatbot-form .pn-chatbot-send{
        min-height:50px;
        width:100%;
        border-radius:15px;
    }
}
