.mpf-sde-assistant-section{--assistant-red:#d54140;--assistant-blue:#486c88;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,3rem);align-items:center;box-sizing:border-box;margin-block:clamp(2rem,4vw,4rem);padding:clamp(1.5rem,3vw,3rem);border-radius:12px;background-color:#dedada;background-image:radial-gradient(circle at 1px 1px,rgba(72,108,136,.18) 1px,transparent 0);background-size:28px 28px;color:#26292d;box-shadow:0 8px 30px rgba(40,40,40,.08);scroll-margin-top:2rem}
.mpf-sde-assistant-section__intro{display:flex;flex-direction:column;justify-content:center;min-width:0}
.mpf-sde-assistant-section__eyebrow{margin:0 0 .75rem;color:var(--assistant-red);font:400 .8rem/1.3 var(--wp--preset--font-family--mono,monospace);letter-spacing:.22em;text-transform:uppercase}
.mpf-sde-assistant-section h2{max-width:680px;margin:0;font-family:var(--wp--preset--font-family--display,system-ui);font-size:clamp(1.75rem,3vw,3rem);font-weight:400;line-height:1.08;letter-spacing:-.045em}
.mpf-sde-assistant-section h2 strong{display:block;color:var(--assistant-red);font-weight:700}
.mpf-sde-assistant-section__lead{max-width:680px;margin:1rem 0 0;font-size:1rem;line-height:1.5}
.mpf-sde-assistant-faq>p{margin:0 0 .75rem;color:#fff;font:400 .75rem/1.3 var(--wp--preset--font-family--mono,monospace);letter-spacing:.12em;text-transform:uppercase}
.mpf-sde-assistant-faq>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.mpf-sde-assistant-faq button{display:flex;align-items:center;gap:.7rem;min-height:54px;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.4);border-radius:7px;background:rgba(255,255,255,.48);color:#26292d;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.mpf-sde-assistant-faq button:hover{border-color:#fff;background:rgba(255,255,255,.76);transform:translateY(-1px)}
.mpf-sde-assistant-faq button img{flex:0 0 auto;width:1.15rem;height:1.15rem}
.mpf-sde-assistant{--assistant-red:#d54140;--assistant-blue:#486c88;font:16px/1.55 var(--wp--preset--font-family--body,system-ui)}
.mpf-sde-assistant__panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:clamp(32rem,calc(100svh - 2rem),38.75rem);overflow:hidden;border:1px solid rgba(255,255,255,.85);border-radius:14px;background:rgba(255,253,249,.96);color:#20252a;box-shadow:0 12px 35px rgba(40,40,40,.14)}
.mpf-sde-assistant__panel>header{display:flex;align-items:center;gap:.8rem;margin:0 1rem;padding:1.25rem 0;border-bottom:1px solid #8f959a;background:transparent;color:#20252a}
.mpf-sde-assistant__panel>header>span:nth-child(2){display:grid;gap:.1rem}
.mpf-sde-assistant__panel header strong{font-size:.95rem}
.mpf-sde-assistant__panel header small{display:flex;align-items:center;gap:.45rem;color:#343a40}
.mpf-sde-assistant__panel header small i{width:8px;height:8px;border-radius:50%;background:#48ac84}
.mpf-sde-assistant__avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:#20252a}
.mpf-sde-assistant__avatar img{width:29px;height:30px}
.mpf-sde-assistant__messages{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:2.25rem 1.2rem;background:transparent;scrollbar-gutter:stable}
.mpf-sde-assistant__messages>.is-user,.mpf-sde-assistant__message-row>.is-assistant{box-sizing:border-box;max-width:82%;margin:0 0 .8rem;padding:1rem 1.15rem;border-radius:9px}
.mpf-sde-assistant__message-row{min-width:0;display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1rem}
.mpf-sde-assistant__message-row .mpf-sde-assistant__avatar{width:34px;height:34px}
.mpf-sde-assistant__message-row .mpf-sde-assistant__avatar img{width:23px;height:24px}
.mpf-sde-assistant__messages .is-assistant{min-width:0;flex:1;overflow-wrap:anywhere;background:#fff;border:1px solid #edeae6}
.mpf-sde-assistant__messages .is-user{margin-left:auto;background:var(--assistant-blue);color:#fff;border-radius:14px}
.mpf-sde-assistant__content>*{margin:0}
.mpf-sde-assistant__content>*+*{margin-top:.8rem}
.mpf-sde-assistant__content h3,.mpf-sde-assistant__content h4{color:#245d8f;font-family:inherit;font-size:1rem;line-height:1.3}
.mpf-sde-assistant__content ul,.mpf-sde-assistant__content ol{padding-left:1.25rem}
.mpf-sde-assistant__content li+li{margin-top:.35rem}
.mpf-sde-assistant__content a{color:#245d8f;text-decoration:underline;text-underline-offset:.18em;overflow-wrap:anywhere}
.mpf-sde-assistant__content code{padding:.08rem .3rem;border-radius:4px;background:#edf3f7;font-size:.88em}
.mpf-sde-assistant__content blockquote{padding:.65rem .8rem;border-left:3px solid var(--assistant-blue);background:#f4f7f9}
.mpf-sde-assistant__table-wrap{max-width:100%;overflow-x:auto;border:1px solid #dbe2e7;border-radius:7px}
.mpf-sde-assistant__content table{width:100%;border-collapse:collapse;font-size:.82rem;line-height:1.35}
.mpf-sde-assistant__content th,.mpf-sde-assistant__content td{padding:.55rem .65rem;border-bottom:1px solid #e4e9ec;text-align:left;vertical-align:top}
.mpf-sde-assistant__content th{background:#edf3f7;color:#245d8f;font-weight:700}
.mpf-sde-assistant__content tbody tr:last-child td{border-bottom:0}
.mpf-sde-assistant__composer{margin:0 1.2rem;padding:.75rem 0 .6rem;border-top:2px solid #e4e0da}
.mpf-sde-assistant form{display:flex;align-items:flex-end;gap:.65rem;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.mpf-sde-assistant textarea{display:block;box-sizing:border-box;flex:1;min-width:0;width:100%;min-height:44px;max-height:120px;resize:none;overflow-y:auto;border:0!important;border-radius:0!important;padding:.65rem .15rem!important;background:transparent!important;color:#20252a;font:inherit;line-height:1.45;box-shadow:none!important}
.mpf-sde-assistant textarea::placeholder{color:#70777d;opacity:1}
.mpf-sde-assistant form button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--assistant-red);color:#fff;cursor:pointer;transition:background .15s}
.mpf-sde-assistant form button:hover{background:#af302f}
.mpf-sde-assistant form button img{width:23px;height:23px;filter:brightness(0) invert(1);transform:rotate(-90deg)}
.mpf-sde-assistant form button:disabled{opacity:.45;cursor:wait}
.mpf-sde-assistant__enter{display:flex;align-items:center;gap:.45rem;min-height:44px;width:fit-content;margin-top:.1rem;color:#626970;font-size:.75rem;cursor:pointer}
.mpf-sde-assistant__enter input{width:15px;height:15px;margin:0;accent-color:#af302f}
.mpf-sde-assistant__sources,.mpf-sde-assistant__followups{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.8rem;border-top:1px solid #edeae6}
.mpf-sde-assistant__sources a,.mpf-sde-assistant__followups button{display:flex;align-items:center;justify-content:space-between;gap:.55rem;box-sizing:border-box;min-height:44px;max-width:100%;padding:.55rem .7rem;border:1px solid #cfdce6;border-radius:7px;background:#f3f7fa;color:#245d8f;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1.35;text-align:left;overflow-wrap:anywhere;text-decoration:none;cursor:pointer}
.mpf-sde-assistant__sources a{width:100%}
.mpf-sde-assistant__followups button{background:transparent;font-family:inherit;font-size:.82rem;line-height:1.35}
.mpf-sde-assistant__sources a:hover,.mpf-sde-assistant__followups button:hover{border-color:#245d8f;background:#e8f0f6}
.mpf-sde-assistant :focus-visible,.mpf-sde-assistant-faq :focus-visible,.mpf-sde-assistant-launcher:focus-visible{outline:3px solid #7cc4e4;outline-offset:3px}
.mpf-sde-assistant__close{margin-left:auto;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:transparent;color:#20252a;font-size:1.75rem;line-height:1;cursor:pointer}
.mpf-sde-assistant__close:hover{background:#edf0f2}
.mpf-sde-assistant-popover{position:fixed;right:24px;bottom:88px;z-index:9998;width:min(26rem,calc(100vw - 32px))}
.mpf-sde-assistant-popover[hidden]{display:none}
.mpf-sde-assistant-popover .mpf-sde-assistant__panel{height:min(38.75rem,calc(100svh - 7rem))}
.mpf-sde-assistant-launcher{position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:.65rem;border:0;border-radius:999px;padding:.75rem 1rem;background:#20252a;color:#fff;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.24);cursor:pointer}
.mpf-sde-assistant-launcher img{width:29px;height:30px}
.mpf-sde-assistant-launcher:hover{background:#30363c}
.mpf-assistant-block{width:100%}
@media(max-width:1050px){.mpf-sde-assistant-section{grid-template-columns:minmax(0,1fr);padding:clamp(1.5rem,4vw,2.5rem)}
.mpf-sde-assistant-section__intro{padding-bottom:0}
}
@media(max-width:640px){.mpf-sde-assistant-section{margin-inline:calc(-1 * var(--wp--style--root--padding-left,1rem));padding:2rem 1rem;border-radius:0}
.mpf-sde-assistant-section h2{font-size:clamp(1.75rem,7vw,2.5rem)}
.mpf-sde-assistant-faq>div{grid-template-columns:minmax(0,1fr)}
.mpf-sde-assistant__messages{padding:1.5rem .9rem}
.mpf-sde-assistant__messages>.is-user,.mpf-sde-assistant__message-row>.is-assistant{max-width:88%}
.mpf-sde-assistant-popover{right:16px;bottom:80px;width:calc(100vw - 32px)}
.mpf-sde-assistant-popover .mpf-sde-assistant__panel{height:min(36rem,calc(100svh - 6rem))}
.mpf-sde-assistant-launcher{right:16px;bottom:16px}
.mpf-sde-assistant-launcher span{display:none}
}

.mpf-sde-assistant__composer:focus-within{border-top-color:#245d8f}
.mpf-sde-assistant textarea:focus-visible{outline:0}

.mpf-sde-assistant__department-picker{display:grid;gap:.6rem;padding-top:.9rem;border-top:1px solid #edeae6}
.mpf-sde-assistant__department-picker label{font-size:.85rem;font-weight:600;color:#343a40}
.mpf-sde-assistant__department-picker select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:.65rem .7rem;border:1px solid #cfdce6;border-radius:7px;background:#fff;color:#20252a;font-family:inherit;font-size:1rem;line-height:1.35}
.mpf-sde-assistant__department-picker button{box-sizing:border-box;width:100%;min-height:44px;padding:.65rem .75rem;border:0;border-radius:7px;background:#af302f;color:#fff;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.35;cursor:pointer}
.mpf-sde-assistant__department-picker button:hover{background:#972c2b}
.mpf-sde-assistant__department-picker button:disabled{background:#e4e0da;color:#626970;cursor:default}

/* The home section opens the shared bot instead of duplicating a chat panel. */
.mpf-sde-assistant-section__open{display:inline-flex;align-items:center;justify-content:center;gap:12px;justify-self:start;max-width:100%;min-height:56px;padding:14px 18px;border:0;border-radius:8px;background:#20252a;color:#fff;font:600 1rem/1.3 var(--wp--preset--font-family--display,system-ui);text-align:left;cursor:pointer;transition:background .2s}
.mpf-sde-assistant-section__open:hover{background:#343a40}
.mpf-sde-assistant-section__open:focus-visible{outline:3px solid #245d8f;outline-offset:4px}
.mpf-sde-assistant-section__open img{width:30px;height:30px;flex:none}
.mpf-sde-assistant-section__open .mpf-sde-assistant-section__arrow{width:20px;height:20px;filter:brightness(0) invert(1)}
.mpf-sde-assistant-launcher[hidden]{display:none}
@media(max-width:640px){.mpf-sde-assistant-section__open{width:100%;justify-content:flex-start}.mpf-sde-assistant-section__arrow{margin-left:auto}}

/* Public service links supplied by WordPress, distinct from chat follow-ups. */
.mpf-sde-assistant__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;margin-top:1rem;margin-bottom:.75rem}
.mpf-sde-assistant__actions a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-sizing:border-box;min-height:44px;padding:.7rem .85rem;border:1px solid #245d8f;border-radius:7px;background:#245d8f;color:#fff;font-family:inherit;font-size:.85rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere;text-decoration:none}
.mpf-sde-assistant__actions a::after{content:'↗' / '';flex:none;font-size:1.1rem}
.mpf-sde-assistant__actions a:hover{border-color:#19476f;background:#19476f}
.mpf-sde-assistant__actions a:focus-visible{outline:3px solid #af302f;outline-offset:3px}
