.ppn-assistant { --assistant-brand: var(--tj-color-theme-primary, #015b75); font-family: var(--tj-ff-body, 'Mona Sans', Arial, sans-serif); color: #18292c; }
.ppn-assistant *, .ppn-assistant *::before, .ppn-assistant *::after { box-sizing: border-box; }
.ppn-assistant [hidden] { display: none !important; }
.ppn-assistant button, .ppn-assistant input { font: inherit; }
.ppn-assistant button { cursor: pointer; }
.ppn-assistant__launcher { position: fixed; bottom: 24px; right: 24px; z-index: 1050; display: flex; align-items: center; gap: 12px; border: 1px solid #ffffff45; border-radius: 100px; padding: 14px 20px 14px 14px; background: var(--assistant-brand); color: #fff; box-shadow: 0 8px 28px #013b4c30; font-size: 15px !important; font-weight: 600 !important; }
.ppn-assistant__launcher:hover, .ppn-assistant__submit:hover { background: #03475b; }
.ppn-assistant__launcher-arrow { margin-left: 12px; font-size: 21px; }
.ppn-assistant__wave { display: flex; align-items: center; justify-content: center; gap: 3px; }
.ppn-assistant__wave i { width: 3px; height: 14px; border-radius: 3px; background: currentColor; }
.ppn-assistant__wave i:nth-child(2), .ppn-assistant__wave i:nth-child(4) { height: 22px; }
.ppn-assistant__wave i:nth-child(3) { height: 30px; }
.ppn-assistant__dialog { position: fixed; inset: auto 24px 88px auto; margin: 0; padding: 0; width: 360px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 104px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #dbe5e7; border-radius: 16px; background: #fff; color: #18292c; box-shadow: 0 24px 80px #092c3a30; }
.ppn-assistant__dialog::backdrop { background: #082c351f; }
.ppn-assistant__header { display: flex; align-items: center; gap: 12px; padding: 20px 24px 0; background: #fff; }
.ppn-assistant__close { margin-left: auto; width: 36px; height: 36px; border: 1px solid #dbe5e7; border-radius: 50%; background: #fff; color: #536b72; font-size: 25px !important; line-height: 1; }
.ppn-assistant__close:hover { background: #e1ecee; }
.ppn-assistant__body { padding: 20px 24px 16px; }
.ppn-assistant h2 { margin: 0; font-family: inherit; font-size: 20px; line-height: 1.4; letter-spacing: -0.3px; font-weight: 600; color: #152e35; }
.ppn-assistant__names { display: grid; grid-template-columns: 1fr; gap: 0; }
.ppn-assistant__field {
    
    margin-bottom: 16px;
}
.ppn-assistant label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 600; line-height: 1.5; }
.ppn-assistant label span { color: var(--assistant-brand); }
.ppn-assistant input,
.ppn-assistant .ppn-assistant__field input,
#ppn-assistant-form input { 
    display: block !important; 
    width: 100% !important; 
    min-width: 0 !important; 
    height: 46px !important; 
    padding: 11px 14px !important; 
    border: 1.5px solid #49636a !important; 
    border-radius: 9px !important; 
    background-color: #ffffff !important; 
    color: #18292c !important; 
    font-size: 14px !important; 
    line-height: 1.5 !important; 
    box-shadow: 0 1px 2px rgba(18, 48, 58, 0.06) !important; 
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}
.ppn-assistant input::placeholder,
.ppn-assistant .ppn-assistant__field input::placeholder,
#ppn-assistant-form input::placeholder { 
    color: #7a898f !important; 
    opacity: 1 !important; 
}
.ppn-assistant input:hover,
.ppn-assistant .ppn-assistant__field input:hover,
#ppn-assistant-form input:hover {
    border-color: #015b75 !important;
    box-shadow: 0 0 0 3px rgba(1, 91, 117, 0.18) !important;
}
.ppn-assistant input:focus,
.ppn-assistant .ppn-assistant__field input:focus,
#ppn-assistant-form input:focus { 
    outline: none !important;
    border-color: #015b75 !important; 
    box-shadow: 0 0 0 3px rgba(1, 91, 117, 0.3) !important; 
}
.ppn-assistant :is(button, a):focus-visible { outline: 3px solid #44a6c1; outline-offset: 3px; }
.ppn-assistant input[aria-invalid="true"],
.ppn-assistant .ppn-assistant__field input[aria-invalid="true"],
#ppn-assistant-form input[aria-invalid="true"] { 
    border-color: #b42318 !important; 
}
.ppn-assistant input[aria-invalid="true"]:hover,
.ppn-assistant input[aria-invalid="true"]:focus,
.ppn-assistant .ppn-assistant__field input[aria-invalid="true"]:hover,
.ppn-assistant .ppn-assistant__field input[aria-invalid="true"]:focus,
#ppn-assistant-form input[aria-invalid="true"]:hover,
#ppn-assistant-form input[aria-invalid="true"]:focus { 
    border-color: #b42318 !important; 
    box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.2) !important; 
}
.ppn-assistant__error { display: block; color: #b42318; font-size: 11px; line-height: 1.5; }
.ppn-assistant__error:not(:empty) { margin-top: 5px; }
.ppn-assistant__submit { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 14px 18px; border: 0; border-radius: 9px; background: var(--assistant-brand); color: #fff; font-size: 13px !important; font-weight: 600 !important; line-height: 1.5; }
.ppn-assistant__submit > span:last-child { font-size: 20px; line-height: 1; }
.ppn-assistant__privacy { margin: 13px 8px 0; text-align: center; color: #61747b; font-size: 10px; line-height: 1.7; }
.ppn-assistant__privacy a { color: var(--assistant-brand); text-decoration: underline; text-underline-offset: 2px; }
.ppn-assistant__footer { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px; border-top: 1px solid #e8eeef; color: #63767d; background: #fafcfc; font-size: 10px; line-height: 1.5; }
.ppn-assistant__preview-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--assistant-brand); }
.ppn-assistant__complete { text-align: center; }
.ppn-assistant__check { display: inline-grid; place-items: center; width: 52px; height: 52px; margin: 6px auto 16px; border-radius: 50%; background: #e8f3f1; color: var(--assistant-brand); font-size: 25px; }
.ppn-assistant__complete h3 { font-size: 20px; line-height: 1.3; margin: 0 0 12px; }
.ppn-assistant__complete p { color: #5b6e74; font-size: 13px; line-height: 1.7; margin: 0 0 24px; }
.ppn-assistant__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 480px) {
    .ppn-assistant__launcher { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
    .ppn-assistant__dialog { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); max-height: calc(100dvh - 32px); width: calc(100vw - 32px); }
    .ppn-assistant__body { padding: 22px 20px 18px; }
    .ppn-assistant__header { padding: 17px 20px; }
    .ppn-assistant input { font-size: 16px; }
}
@media (max-width: 350px) { .ppn-assistant__names { grid-template-columns: 1fr; gap: 0; } }

.ppn-assistant__dialog { font-family: var(--tj-ff-body, 'Mona Sans', Arial, sans-serif); }
.ppn-assistant button, .ppn-assistant input { font-family: var(--tj-ff-body, "Mona Sans", Arial, sans-serif); }
.ppn-assistant__status:not(:empty) { margin: 14px 0 0; padding: 12px; border-radius: 8px; background: #fff1f0; color: #98221b; font-size: 13px; line-height: 1.5; }
.ppn-assistant__submit:disabled { cursor: wait; opacity: .7; }
.ppn-assistant__complete { text-align: left; }
.ppn-assistant__chat-label { display: flex; align-items: center; justify-content: space-between; margin: 0 0 22px; font-size: 13px; font-weight: 600; color: #015b75; }
.ppn-assistant__chat-label span { padding: 4px 8px; border-radius: 5px; background: #edf4f5; font-size: 10px; }
.ppn-assistant__bubble { padding: 16px; border-radius: 0 12px 12px; background: #edf4f5; font-size: 14px; line-height: 1.7; }
.ppn-assistant__complete .ppn-assistant__demo-note { margin: 16px 0 64px; font-size: 12px; color: #64767b; }
.ppn-assistant__composer { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border: 1px solid #d8e2e5; border-radius: 9px; color: #73848a; font-size: 13px; }
.ppn-assistant__composer span:last-child { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: #015b75; color: white; }
.ppn-assistant__back { display: block; margin: 18px auto 0; padding: 8px; border: 0; background: none; color: #015b75; font-size: 12px; }
.ppn-assistant__toggle { position: fixed; right: 24px; bottom: 24px; z-index: 1051; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: #000; box-shadow: 0 3px 12px #0002; }
.ppn-assistant__toggle:hover { background: #252525; }
.ppn-assistant__toggle[aria-expanded="false"] svg { transform: rotate(180deg); }
.ppn-assistant .recaptcha-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 16px;
    min-height: 78px;
}
@media (max-width: 360px) {
    .ppn-assistant .recaptcha-wrapper {
        align-items: flex-start;
        overflow-x: auto;
    }
}
#elevenlabs-widget-root[hidden] { display: none !important; }
@media (max-width: 480px) { .ppn-assistant__toggle { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); } }
