/* Shared Copilot presentation: full conversation and contextual launcher. */
.pf-team-mention {
    color: var(--pf-team-color);
    font-weight: 700;
}

#agentImpactDetailsModal .modal-dialog {
    width: calc(100% - 2rem);
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

.pf-copilot-shell {
        --copilot-ink: #172033;
        --copilot-muted: #667085;
        --copilot-line: #dce8f0;
        --copilot-soft: var(--pf-primary-soft);
        --copilot-accent: var(--pf-primary);
        --copilot-accent-dark: var(--pf-primary-deep);
        width: 100%;
        min-height: 0;
        height: 100%;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        border: 0;
        border-radius: 0;
        background: #fff;
        color: var(--copilot-ink);
        box-shadow: 0 20px 55px rgba(31, 40, 73, .09);
    }
    .pf-copilot-header { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;flex:0 0 auto;padding:15px 20px;border-bottom:1px solid var(--copilot-line);background:var(--pf-primary-soft); }
    .pf-copilot-brand { display:flex;align-items:center;min-width:0; }
    .pf-copilot-brand h2 { margin:0;color:var(--copilot-ink);font-size:var(--pf-font-size-lg);font-weight:750;letter-spacing:-.02em; }
    .pf-copilot-brand p { margin:3px 0 0;color:var(--copilot-muted);font-size:var(--pf-font-size-sm); }
    .pf-copilot-status { display:inline-flex;align-items:center;gap:6px;margin-left:9px;padding:4px 8px;border:1px solid var(--pf-primary-pale);border-radius:999px;color:var(--pf-primary-deep);background:var(--pf-primary-soft);font-size:var(--pf-font-size-caption);font-weight:700;vertical-align:2px; }
    .pf-copilot-status:before { content:"";width:6px;height:6px;border-radius:50%;background:#26a269;box-shadow:0 0 0 3px rgba(38,162,105,.11); }
    .pf-copilot-clear { display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dddfea;border-radius:var(--pf-button-radius);color:#475467;background:rgba(255,255,255,.78);font-size:var(--pf-font-size-sm);font-weight:var(--pf-button-weight); }
    .pf-copilot-clear:hover { border-color:var(--pf-primary-light);color:var(--copilot-accent-dark);background:#fff; }
    .pf-copilot-grid { display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1 1 auto;min-height:0;height:auto; }
    .pf-copilot-main { display:flex;min-width:0;min-height:0;flex-direction:column;background:#fff; }
    .pf-copilot-messages { flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:25px clamp(18px,4vw,58px);background:#fff; }
    .pf-copilot-welcome { max-width:680px;margin:12px auto 28px;text-align:center; }
    .pf-copilot-welcome h3 { margin:0;color:var(--copilot-ink);font-size:var(--pf-font-size-xl);font-weight:760;letter-spacing:-.03em; }
    .pf-copilot-welcome p { max-width:540px;margin:8px auto 0;color:var(--copilot-muted);font-size:var(--pf-font-size-base);line-height:1.6; }
    .agent-msg { display:flex;align-items:flex-start;max-width:850px;margin:0 auto 18px; }
    .agent-msg.user { justify-content:flex-end; }
    .agent-message-content { min-width:0;max-width:78%; }
    .agent-msg.user .agent-message-content { display:flex;flex-direction:column;align-items:flex-end; }
    .agent-bubble { padding:12px 15px;border-radius:5px 16px 16px 16px;color:#293247;background:#f5f5fa;font-size:var(--pf-font-size-base);line-height:1.62;white-space:pre-wrap;word-break:break-word; }
    .agent-msg.bot .agent-bubble strong { color:#101828;font-weight:760; }
    .agent-msg.user .agent-bubble { border-radius:16px 5px 16px 16px;color:#fff;background:var(--pf-primary);box-shadow:0 7px 18px rgba(var(--pf-primary-rgb),.2); }
    .agent-message-meta { margin-top:5px;color:#98a2b3;font-size:var(--pf-font-size-xs);font-weight:600;letter-spacing:.02em; }
    .agent-msg.loading .agent-bubble { display:inline-flex;align-items:center;gap:5px;min-width:62px; }
    .agent-response-actions { display:flex;align-items:center;flex-wrap:wrap;gap:7px; }
    .agent-typing-dot { width:6px;height:6px;border-radius:50%;background:var(--pf-primary-light);animation:pfCopilotTyping 1.1s infinite ease-in-out; }
    .agent-typing-dot:nth-child(2) { animation-delay:.14s; }
    .agent-typing-dot:nth-child(3) { animation-delay:.28s; }
    @keyframes pfCopilotTyping { 0%,60%,100%{transform:translateY(0);opacity:.45} 30%{transform:translateY(-4px);opacity:1} }
    .agent-visualization { width:100%;padding:15px;border:1px solid var(--copilot-line);border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(31,40,73,.07); }
    .agent-followups { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;max-width:850px;margin:-7px auto 16px; }
    .agent-followups-label { color:#98a2b3;font-size:var(--pf-font-size-xs);font-weight:650; }
    .pf-copilot-shell .agent-followup { display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:5px 10px;border:1px solid var(--pf-primary);border-radius:var(--pf-button-radius);color:#fff;background-color:var(--pf-primary);background-image:none;font-size:var(--pf-font-size-xs);font-weight:var(--pf-button-weight);transition:border-color .16s,background-color .16s; }
    .pf-copilot-shell .agent-followup:hover,.pf-copilot-shell .agent-followup:focus-visible { border-color:var(--pf-primary);color:#fff;background-color:var(--pf-primary);background-image:none; }
    .pf-copilot-shell .agent-followup i { color:#fff;font-size:10px; }
    .pf-copilot-shell .pf-impact-compact-title { flex-wrap:wrap; }
    .pf-copilot-shell .pf-impact-compact-title > strong { min-width:0; }
    .pf-copilot-shell .pf-impact-header-actions { display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto; }
    .pf-copilot-shell .pf-impact-header-actions .pf-impact-recommended { margin-left:0; }
    .pf-copilot-shell .pf-impact-draft-badge { padding:5px 9px;border-radius:var(--pf-button-radius);color:var(--pf-primary-deep);background:#fff;font-size:var(--pf-font-size-xs);font-weight:700; }
    .pf-copilot-shell .pf-impact-secondary-cost-label { margin-top:7px; }
    .pf-copilot-shell .pf-impact-extra-metrics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1 / -1;border-top:1px solid var(--default-border,#e5e7eb); }
    .pf-copilot-shell .pf-impact-extra-metrics .pf-impact-compact-item { min-height:58px; }
    .pf-copilot-shell .pf-impact-report-compact .pf-impact-compact-actions { justify-content:flex-start;gap:7px;padding:8px 11px;border-top:1px solid var(--default-border,#e5e7eb);background:#fff; }
    .pf-copilot-shell .agent-scenario-notes { max-width:850px;margin:-4px auto 18px;padding:10px 13px;border:1px solid var(--copilot-line);border-radius:10px;color:var(--copilot-ink);background:var(--pf-primary-soft);font-size:var(--pf-font-size-xs);line-height:1.5; }
    .pf-copilot-shell .agent-scenario-notes strong { display:block;margin-bottom:4px; }
    .pf-copilot-shell .agent-scenario-notes p { margin:3px 0; }
    .pf-copilot-shell .agent-followups { justify-content:flex-start;margin-top:0; }
    .pf-copilot-shell .agent-followups-label { flex-basis:100%; }
    @media(max-width:640px){.pf-copilot-shell .pf-impact-extra-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.pf-copilot-shell .pf-impact-extra-metrics .pf-impact-compact-item:last-child:nth-child(odd){grid-column:1 / -1;}}
    .pf-copilot-scenario-bar { display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;padding:11px 18px;border-top:1px solid rgba(var(--pf-primary-rgb),.18);background:var(--pf-primary-soft); }
    .pf-copilot-scenario-bar[hidden] { display:none !important; }
    .pf-copilot-scenario-copy { display:flex;align-items:center;gap:10px;min-width:0;color:var(--pf-primary-deep); }
    .pf-copilot-scenario-copy > i { font-size:1.05rem; }
    .pf-copilot-scenario-copy strong { display:block;font-size:var(--pf-font-size-sm); }
    .pf-copilot-scenario-copy span { display:block;color:var(--copilot-muted);font-size:var(--pf-font-size-caption); }
    .pf-copilot-save-scenario { display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 12px;border:0;border-radius:var(--pf-button-radius);color:#fff;background-color:var(--pf-primary);background-image:none;font-size:var(--pf-font-size-sm);font-weight:var(--pf-button-weight);box-shadow:0 7px 16px rgba(var(--pf-primary-rgb),.2); }
    .pf-copilot-save-scenario:hover { color:#fff;background:var(--pf-primary-deep); }
    .pf-copilot-composer-wrap { padding:13px 18px 15px;border-top:1px solid var(--copilot-line);background:rgba(255,255,255,.96); }
    .pf-copilot-composer { display:flex;align-items:flex-end;gap:10px;max-width:920px;margin:0 auto;padding:8px 8px 8px 14px;border:1px solid #d9dbe7;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(31,40,73,.07);transition:border-color .18s,box-shadow .18s; }
    .pf-copilot-composer:focus-within { border-color:var(--pf-primary-light);box-shadow:0 9px 28px rgba(var(--pf-primary-rgb),.14); }
    .pf-copilot-composer textarea { width:100%;min-height:38px;max-height:120px;resize:none;border:0;outline:0;padding:9px 0 6px;color:var(--copilot-ink);background:transparent;font:inherit;font-size:var(--pf-font-size-base);line-height:1.45; }
    .pf-copilot-microphone { display:grid;place-items:center;width:39px;height:39px;flex:0 0 auto;border:1px solid #d9dbe7;border-radius:var(--pf-button-radius);color:var(--pf-primary);background:#fff; }
    .pf-copilot-microphone:hover:not(:disabled) { border-color:var(--pf-primary);background:var(--pf-primary-soft); }
    .pf-copilot-microphone.is-listening { border-color:#d92d20;color:#b42318;background:#fef3f2;box-shadow:0 0 0 3px rgba(217,45,32,.12); }
    .pf-copilot-microphone:disabled { opacity:.45;cursor:not-allowed; }
    .pf-copilot-voice-mode { display:grid;place-items:center;width:39px;height:39px;flex:0 0 auto;border:1px solid var(--pf-primary);border-radius:var(--pf-button-radius);color:var(--pf-primary);background:var(--pf-primary-soft); }
    .pf-copilot-voice-mode:hover:not(:disabled), .pf-copilot-voice-mode[aria-pressed="true"] { color:#fff;background:var(--pf-primary); }
    .pf-copilot-voice-mode:disabled { opacity:.45;cursor:not-allowed; }
    .pf-voice-stage { display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;min-height:112px;padding:22px 20px;border-top:1px solid var(--copilot-line);background:#fff; }
    .pf-voice-stage[hidden] { display:none; }
    .pf-voice-orb { position:relative;display:flex;align-items:center;justify-content:center;gap:4px;width:64px;height:64px;flex:0 0 64px;border:1px solid rgba(var(--pf-primary-rgb),.22);border-radius:50%;background:var(--pf-primary-soft); }
    .pf-voice-orb::before { content:"";position:absolute;inset:-7px;border:1px solid rgba(var(--pf-primary-rgb),.22);border-radius:50%; }
    .pf-voice-orb span { width:3px;height:11px;border-radius:3px;background:var(--pf-primary); }
    .pf-voice-orb span:nth-child(2), .pf-voice-orb span:nth-child(4) { height:18px; }
    .pf-voice-orb span:nth-child(3) { height:25px; }
    .pf-voice-stage[data-state="listening"] .pf-voice-orb::before { animation:pfVoicePulse 2.2s ease-out infinite; }
    .pf-voice-stage[data-state="thinking"] .pf-voice-orb { animation:pfVoiceThinking 2.4s ease-in-out infinite; }
    .pf-voice-stage[data-state="speaking"] .pf-voice-orb span { animation:pfVoiceBars .8s ease-in-out infinite alternate; }
    .pf-voice-stage[data-state="speaking"] .pf-voice-orb span:nth-child(2n) { animation-delay:.25s; }
    .pf-voice-stage-status { max-width:560px;color:var(--copilot-ink);font-size:var(--pf-font-size-sm);font-weight:600;line-height:1.45;text-align:center; }
    .pf-voice-language-label { display:inline-flex;align-items:center;gap:8px;color:var(--copilot-muted);font-size:var(--pf-font-size-xs);font-weight:600; }
    .pf-voice-language { padding:5px 8px;border:1px solid #d9dbe7;border-radius:var(--pf-button-radius);color:var(--copilot-ink);background:#fff; }
    .pf-voice-composer-language { display:flex;justify-content:center;margin:8px auto 0; }
    .pf-voice-review { width:min(100%,560px); }
    .pf-voice-review[hidden] { display:none; }
    .pf-voice-review label { display:block;margin-bottom:6px;color:var(--copilot-ink);font-size:var(--pf-font-size-sm);font-weight:600; }
    .pf-voice-review textarea { display:block;width:100%;min-height:70px;padding:9px 11px;border:1px solid #d9dbe7;border-radius:var(--pf-button-radius);color:var(--copilot-ink);background:#fff;resize:vertical; }
    .pf-voice-review-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:8px; }
    .pf-voice-review-actions button { padding:7px 12px;border:1px solid var(--pf-primary);border-radius:var(--pf-button-radius);color:var(--pf-primary);background:#fff;font-size:var(--pf-font-size-sm); }
    .pf-voice-review-actions #agent-voice-confirm { color:#fff;background:var(--pf-primary); }
    .pf-voice-stop { display:none;padding:5px 9px;border:0;border-radius:var(--pf-button-radius);color:var(--copilot-muted);background:transparent;font-size:var(--pf-font-size-xs);text-decoration:underline;text-underline-offset:3px; }
    .pf-voice-stop:hover, .pf-voice-stop:focus-visible { color:var(--pf-primary-deep);background:var(--pf-primary-soft); }
    .pf-copilot-shell.is-voice-conversation .pf-copilot-grid { grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"main"; }
    .pf-copilot-shell.is-voice-conversation .pf-copilot-main { grid-area:main; }
    .pf-copilot-shell.is-voice-conversation .pf-copilot-side, .pf-copilot-shell.is-voice-conversation .pf-copilot-composer-wrap { display:none; }
    .pf-copilot-shell.is-voice-conversation .pf-voice-stage { order:-1;min-height:190px;border-top:0;border-bottom:1px solid var(--copilot-line); }
    .pf-copilot-shell.is-voice-conversation .pf-voice-stop { display:inline-flex; }
    @keyframes pfVoicePulse { from { transform:scale(.95);opacity:.7; } to { transform:scale(1.3);opacity:0; } }
    @keyframes pfVoiceThinking { 50% { opacity:.6;transform:scale(1.04); } }
    @keyframes pfVoiceBars { to { height:6px;opacity:.55; } }
    .pf-copilot-voice-status { max-width:920px;margin:7px auto 0;color:var(--copilot-muted);font-size:var(--pf-font-size-xs);text-align:center; }
    .pf-copilot-voice-status[hidden] { display:none; }
    .pf-copilot-send { display:grid;place-items:center;width:39px;height:39px;flex:0 0 auto;border:0;border-radius:var(--pf-button-radius);color:#fff;background-color:var(--pf-primary);background-image:none;box-shadow:0 7px 16px rgba(var(--pf-primary-rgb),.25); }
    .pf-copilot-send:disabled { opacity:.45;box-shadow:none; }
    .pf-copilot-composer-note { max-width:920px;margin:7px auto 0;color:#98a2b3;font-size:var(--pf-font-size-xs);text-align:center; }
    .pf-copilot-side { min-height:0;overflow:auto;padding:18px;border-left:1px solid var(--copilot-line);background:var(--copilot-soft); }
    .pf-copilot-side-label { margin:3px 0 10px;color:#8b92a3;font-size:var(--pf-font-size-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
    .pf-copilot-prompts { display:grid;gap:8px; }
    .pf-copilot-prompt { display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px;border:1px solid #e0e2ea;border-radius:var(--pf-button-radius);color:#344054;background:#fff;text-align:left;font-size:var(--pf-font-size-sm);line-height:1.4;transition:.18s; }
    .pf-copilot-prompt:hover { border-color:var(--pf-primary-light);color:var(--copilot-accent-dark);transform:translateY(-1px);box-shadow:0 7px 16px rgba(var(--pf-primary-rgb),.09); }
    .pf-copilot-prompt i { margin-top:1px;color:var(--copilot-accent);font-size:14px; }
    #agent-save-scenario-confirm { background-color:var(--pf-primary) !important;background-image:none !important;border-color:var(--pf-primary) !important; }
    .pf-copilot-safety { display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding:11px;border:1px solid #d9e8df;border-radius:12px;color:#496557;background:#f2faf5;font-size:var(--pf-font-size-caption);line-height:1.45; }
    .pf-copilot-safety i { margin-top:1px;color:#268556;font-size:13px; }
    @media(max-width:1150px){.pf-copilot-grid{grid-template-columns:minmax(0,1fr) 260px}.pf-copilot-side{padding:14px}}
    @media(max-width:880px){.pf-copilot-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"side" "main"}.pf-copilot-main{grid-area:main;min-height:0}.pf-copilot-side{grid-area:side;max-height:180px;border-bottom:1px solid var(--copilot-line);border-left:0}.pf-copilot-prompts{grid-template-columns:1fr 1fr}.pf-copilot-safety{display:none}}
    @media(max-width:576px){.pf-copilot-header{align-items:flex-start;padding:13px}.pf-copilot-brand p,.pf-copilot-status{display:none}.pf-copilot-messages{padding:20px 13px}.agent-message-content{max-width:86%}.pf-copilot-prompts{grid-template-columns:1fr}.pf-copilot-scenario-bar{align-items:stretch;flex-direction:column}.pf-copilot-save-scenario{justify-content:center;width:100%}.pf-voice-stage{min-height:94px}.pf-voice-orb{width:56px;height:56px;flex-basis:56px}.pf-copilot-shell.is-voice-conversation .pf-voice-stage{min-height:158px}}

.context-assistant { position:fixed;right:24px;bottom:24px;z-index:1050;width:52px;height:52px;margin:0;padding:0; }
    body:has(#agent-chat-shell) .context-assistant { display:none !important; }
    .context-assistant-launcher { display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;padding:0;background:var(--pf-primary);color:#fff;box-shadow:0 12px 32px rgba(var(--pf-primary-rgb),.3);transition:transform .18s ease,box-shadow .18s ease; }
    .context-assistant-launcher:hover { transform:translateY(-2px);box-shadow:0 16px 38px rgba(var(--pf-primary-rgb),.36); }
    .context-assistant-launcher i { color:#fff;font-size:19px; }
    .context-assistant-panel { position:absolute;right:0;bottom:64px;width:350px;max-width:calc(100vw - 32px);overflow:hidden;border:1px solid var(--pf-primary-pale);border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(var(--pf-primary-rgb),.22); }
    .context-assistant-header { display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--pf-primary-pale);background:var(--pf-primary-soft); }
    .context-assistant-title { display:flex;align-items:center;gap:11px; }
    .context-assistant-title small { display:block;color:#718096;font-size:var(--pf-font-size-caption);margin-top:2px; }
    .context-assistant-icon { display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--pf-primary);color:#fff; }
    .context-assistant-body { padding:16px; }
    .context-assistant-intro { color:#64748b;font-size:var(--pf-font-size-menu);line-height:1.5;margin:0 0 13px; }
    .context-assistant-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px; }
    .context-prompt { min-height:82px;padding:12px;border:1px solid var(--pf-primary-pale);border-radius:var(--pf-button-radius);background:#fff;color:#30304c;text-align:left;font-weight:var(--pf-button-weight);font-size:var(--pf-font-size-sm);transition:.2s; }
    .context-prompt:hover { border-color:var(--pf-primary-light);background:var(--pf-primary-soft);transform:translateY(-2px); }
    .context-prompt i { display:block;color:var(--pf-primary);font-size:18px;margin-bottom:9px; }
    .context-assistant-question label { display:block;font-size:var(--pf-font-size-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#718096;margin-bottom:6px; }
    .context-assistant-answer { max-height:180px;overflow:auto;margin-top:12px;padding:12px;border-radius:10px;background:var(--pf-primary-soft);color:#30304c;font-size:var(--pf-font-size-menu);line-height:1.55;white-space:pre-wrap; }
    .context-assistant-answer.loading { color:#718096; }
    #context-assistant-send { border-color:var(--pf-primary);background-color:var(--pf-primary);background-image:none; }
    @media(max-width:576px){.context-assistant{right:16px;bottom:16px}.context-assistant-panel{position:fixed;left:16px;right:16px;bottom:80px;width:auto}.context-assistant-actions{grid-template-columns:1fr}}
/* Calculated results enter while the next planning operation continues. */
.agent-impact-msg, .agent-scenario-list-heading {
    animation: agent-result-enter 320ms ease-out both;
}
.agent-progress-label { margin-left: .7rem; font-size: .88rem; }
.agent-progress-stop {
    display: block; margin-top: .8rem; padding: .3rem .65rem;
    border: 1px solid currentColor; border-radius: .5rem;
    color: inherit; background: transparent; font-size: .8rem;
}
.agent-progress-stop:hover { background: rgba(23, 107, 135, .08); }
@keyframes agent-result-enter {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .agent-impact-msg, .agent-scenario-list-heading, .agent-typing-dot, .pf-voice-orb, .pf-voice-orb::before, .pf-voice-orb::after, .pf-voice-orb span { animation: none !important; }
}
