#assistantLauncher {
    position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom));
    z-index: 1040; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; margin: 0;
    border: 1px solid #e4ebd9; border-radius: 50%; background: #fff; font-size: 28px; line-height: 1;
    box-shadow: 0 4px 18px #28441426; cursor: pointer; transition: box-shadow .15s;
}
#assistantLauncher:hover { box-shadow: 0 6px 22px #28441440; }
#assistantLauncher:focus-visible, #assistantMinimize:focus-visible { outline: 3px solid #086f9c; outline-offset: 3px; }
#assistantPanel[hidden] { display: none !important; }
#assistantPanel {
    position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(88px + env(safe-area-inset-bottom));
    z-index: 1041; display: grid; grid-template-rows: 52px minmax(0, 1fr);
    width: min(420px, calc(100vw - 32px)); height: min(640px, calc(100dvh - 112px - env(safe-area-inset-bottom)));
    padding: 0; margin: 0; overflow: hidden; background: #fff; border: 1px solid #dfe7d5; border-radius: 16px;
    box-shadow: 0 12px 48px #19281333; box-sizing: border-box;
}
#assistantPanel .assistant-panel-header {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px;
    background: linear-gradient(135deg, #7ab800, #66bb6a); color: white;
}
#assistantPanelTitle { color: white; font: 600 16px/1.4 sans-serif; margin: 0; padding: 0; }
#assistantMinimize { width: 36px; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 8px;
    background: transparent; color: white; font: 26px/1 sans-serif; cursor: pointer; }
#assistantMinimize:hover { background: #ffffff26; }
#assistantFrame { display: block; width: 100%; height: 100%; min-height: 0; border: 0; background: #fff; }
@media (max-width: 575.98px) {
    #assistantLauncher { right: 12px; width: 52px; height: 52px; }
    #assistantPanel { right: 12px; width: calc(100vw - 24px); bottom: calc(84px + env(safe-area-inset-bottom)); }
}
