.rabo-faq { --faq-blue:#254aff; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr); background:#f4f4f4; color:#343434; border-radius:12px; overflow:hidden; font:inherit; width:100%; }
.rabo-faq *, .rabo-faq *::before, .rabo-faq *::after { box-sizing:border-box; }
.rabo-faq__conversation { min-width:0; padding:18px; }
.rabo-faq__header { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid #b7c7ff; border-radius:5px; color:var(--faq-blue); background:#f8faff; }
.rabo-faq__header small { display:block; color:#454545; font-size:12px; }
.rabo-faq__avatar { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--faq-blue); color:#fff; font-weight:bold; }
.rabo-faq__history { height:585px; overflow-y:auto; overscroll-behavior:contain; padding:14px 6px; display:flex; flex-direction:column; gap:12px; }
.rabo-faq__message { align-self:flex-start; max-width:92%; background:white; border:1px solid #dce3ff; border-radius:6px; padding:10px 12px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; animation:rabo-faq-enter .2s ease-out; }
.rabo-faq__message--user { align-self:flex-end; color:#173bc7; background:#e3eaff; }
.rabo-faq__message > :last-child { margin-bottom:0; }
.rabo-faq__message a { color:#173bc7; text-decoration:underline; }
.rabo-faq__choices { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.rabo-faq button { font:inherit; font-size:14px; line-height:1.4; text-align:left; cursor:pointer; color:#343434; background:#fff; border:1px solid #b7c7ff; border-radius:5px; padding:8px 11px; }
.rabo-faq button:hover { background:#e9eeff; }
.rabo-faq button:focus-visible, .rabo-faq__history:focus-visible { outline:3px solid #173bc7; outline-offset:3px; }
.rabo-faq button:disabled { opacity:.55; cursor:default; }
.rabo-faq button[aria-pressed="true"] { color:#173bc7; background:#e3eaff; border-color:var(--faq-blue); }
.rabo-faq__navigation { border-left:2px solid white; padding:28px; display:flex; flex-direction:column; gap:14px; }
.rabo-faq__navigation h2 { color:var(--faq-blue); font-size:18px; line-height:1.4; margin:0; }
.rabo-faq__topics { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.rabo-faq .rabo-faq__reset { margin-top:auto; align-self:flex-start; border:0; background:transparent; }
.rabo-faq__typing { display:flex; gap:4px; padding:10px; align-self:flex-start; }
.rabo-faq__typing span { width:5px; height:5px; background:#52609c; border-radius:50%; animation:rabo-faq-dot .8s infinite alternate; }
.rabo-faq__typing span:nth-child(2) { animation-delay:.15s; }
.rabo-faq__typing span:nth-child(3) { animation-delay:.3s; }
@keyframes rabo-faq-dot { to { opacity:.3; transform:translateY(-3px); } }
@keyframes rabo-faq-enter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:650px) { .rabo-faq { grid-template-columns:1fr; } .rabo-faq__navigation { border-left:0; border-top:2px solid white; padding:18px; } .rabo-faq__topics { flex-direction:row; flex-wrap:wrap; } .rabo-faq__history { height:510px; } }
@media(prefers-reduced-motion:reduce) { .rabo-faq *, .rabo-faq *::before { animation:none!important; scroll-behavior:auto!important; } }

.rabo-faq__entry { display:flex; align-items:flex-start; gap:8px; flex-shrink:0; max-width:96%; }
.rabo-faq__entry--user { align-self:flex-end; max-width:88%; }
.rabo-faq__entry-content { min-width:0; }
.rabo-faq__entry .rabo-faq__message { max-width:100%; }
.rabo-faq__entry .rabo-faq__avatar { width:30px; height:30px; background:transparent; }
.rabo-faq__header .rabo-faq__avatar { background:transparent; }
.rabo-faq__meta { display:flex; align-items:center; gap:10px; padding:3px 10px 0; color:#596477; font-size:11px; }
.rabo-faq__entry--user .rabo-faq__meta { justify-content:flex-end; }
.rabo-faq .rabo-faq__retry { padding:0; border:0; background:transparent; color:#596477; font-size:11px; }
.rabo-faq .rabo-faq__retry:hover { color:var(--faq-blue); text-decoration:underline; }
.rabo-faq__choices { margin-left:52px; flex-shrink:0; }
.rabo-faq__typing { margin-left:38px; flex-shrink:0; }
@media(max-width:650px) { .rabo-faq__choices { margin-left:38px; } }
.rabo-faq__choices--yesno { flex-direction:row; gap:8px; }
.rabo-faq-manage__tree { list-style:none; padding:0; margin:0; }
.rabo-faq-manage__tree > li { border:1px solid #dce3ff; border-radius:5px; margin:10px 0; padding:12px 16px; }
.rabo-faq-manage__tree .rabo-faq-manage__tree { margin:10px 0 0 18px; }
.rabo-faq-manage__node { position:relative; min-height:36px; padding:5px 120px 5px 0; }
.rabo-faq-manage__heading { position:relative; padding-right:170px; }
.rabo-faq-manage summary { cursor:pointer; color:var(--accent-6); padding:5px 0; }
@media(max-width:650px) { .rabo-faq-manage__heading { padding-right:0; padding-bottom:60px; } .rabo-faq-manage__tree .rabo-faq-manage__tree { margin-left:6px; } }


.rabo-faq-manage__answer { margin-top:8px; font-style:italic; overflow-wrap:anywhere; }
.rabo-faq-manage__answer > :last-child { margin-bottom:0; }

.rabo-faq__header strong { display:block; font-size:24px; font-weight:400; line-height:1.2; }
.rabo-faq__header .rabo-faq__avatar { width:46px; height:46px; }
.rabo-faq__navigation h2 { font-size:24px; font-weight:400; font-style:normal; }
