.floating-agent-shell { position: fixed; right: 22px; bottom: 22px; z-index: 1450; display: grid; justify-items: end; gap: 12px; pointer-events: none; }
.floating-agent-shell > * { pointer-events: auto; }
.floating-agent-button { position: relative; width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(166,232,142,.45); background: radial-gradient(circle at 34% 25%, rgba(166,232,142,.18), transparent 34%), linear-gradient(145deg, #16291d, #21361f); color: #f7fff8; box-shadow: 0 16px 36px rgba(0,0,0,.44), 0 0 0 7px rgba(123,213,111,.1), inset 0 1px 0 rgba(255,255,255,.16); cursor: pointer; display: grid; place-items: center; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.floating-agent-button:hover,
.floating-agent-button:focus-visible { transform: translateY(-2px); border-color: rgba(190,245,164,.74); box-shadow: 0 18px 42px rgba(0,0,0,.5), 0 0 0 8px rgba(123,213,111,.16), inset 0 1px 0 rgba(255,255,255,.18); outline: none; }
.floating-agent-robot-icon { display: block; width: 42px; height: 42px; color: #e4f8dd; pointer-events: none; }
.floating-agent-robot-icon .robot-face { fill: rgba(166,232,142,.08); }
.floating-agent-robot-icon .robot-accent { fill: #b8db79; stroke: #b8db79; }
.theme-light .floating-agent-robot-icon { color: #254b36; }
.theme-light .floating-agent-robot-icon .robot-face { fill: rgba(255,255,255,.6); }
.theme-light .floating-agent-robot-icon .robot-accent { fill: #47722d; stroke: #47722d; }
.floating-agent-button:focus-visible { outline: 2px solid #e4f8dd; outline-offset: 4px; }
.theme-light .floating-agent-button:focus-visible { outline-color: #254b36; }
@media (prefers-reduced-motion: reduce) { .floating-agent-button { transition: none; } }
.floating-agent-panel { width: min(420px, calc(100vw - 32px)); max-height: min(680px, calc(100vh - 120px)); display: grid; grid-template-rows: auto auto minmax(160px, 1fr) auto auto auto; overflow: hidden; border-radius: 8px; border: 1px solid rgba(123,213,111,.26); background: rgba(5,12,10,.97); color: #f4fbf5; box-shadow: 0 28px 90px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(22px); }
.floating-agent-panel.floating-agent-launcher { grid-template-rows: auto auto auto auto auto; }
.floating-agent-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 14px 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
.floating-agent-header span, .floating-agent-status span, .floating-agent-result-strip span, .floating-agent-message span { display: block; color: var(--fb-dark-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.floating-agent-header strong { display: block; margin-top: 2px; font-size: 18px; line-height: 1.2; }
.floating-agent-status { display: flex; justify-content: space-between; gap: 10px; padding: 10px 14px; background: rgba(123,213,111,.08); border-bottom: 1px solid rgba(123,213,111,.14); font-size: 12px; }
.floating-agent-status b { color: #dff6d9; font-size: 12px; }
.floating-agent-messages { overflow: auto; padding: 14px; display: grid; align-content: start; gap: 10px; }
.floating-agent-empty { padding: 13px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); }
.floating-agent-empty strong { display: block; font-size: 15px; }
.floating-agent-empty span { display: block; margin-top: 4px; color: var(--fb-dark-muted); font-size: 12px; line-height: 1.4; }
.floating-agent-message { padding: 11px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.045); }
.floating-agent-message.user { justify-self: end; max-width: 92%; background: rgba(112,229,255,.08); border-color: rgba(112,229,255,.18); }
.floating-agent-message.agent { justify-self: start; max-width: 96%; background: rgba(123,213,111,.075); border-color: rgba(123,213,111,.18); }
.floating-agent-message p { margin: 4px 0 0; color: var(--fb-dark-text); font-size: 13px; line-height: 1.45; }
.floating-agent-message small { display: block; margin-top: 7px; color: #aebdb5; font-size: 11px; line-height: 1.35; }
.floating-agent-result-strip { display: grid; grid-template-columns: 1.3fr .8fr .55fr; gap: 8px; padding: 10px 14px; border-top: 1px solid rgba(255,255,255,.08); }
.floating-agent-result-strip div { min-width: 0; padding: 9px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.floating-agent-result-strip strong { display: block; overflow: hidden; color: #f7fff8; font-size: 12px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.floating-agent-examples { display: grid; gap: 7px; padding: 0 14px 12px; }
.floating-agent-examples button { border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.04); color: #dff6d9; cursor: pointer; font-size: 12px; font-weight: 800; padding: 8px 10px; text-align: left; }
.floating-agent-composer { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding: 12px 14px 14px; border-top: 1px solid rgba(255,255,255,.08); }
.floating-agent-composer textarea { min-height: 48px; resize: none; }
.floating-agent-composer .primary-button { min-width: 66px; padding-inline: 14px; }
.floating-agent-open-page { margin: 0 14px 14px; width: calc(100% - 28px); }
.theme-light .floating-agent-panel { background: rgba(255,255,255,.97); border-color: rgba(18,35,27,.16); color: var(--fb-light-text); box-shadow: 0 28px 70px rgba(48,66,55,.24); }
.theme-light .floating-agent-button { background: radial-gradient(circle at 34% 25%, rgba(104,170,88,.16), transparent 34%), linear-gradient(145deg, #eef8eb, #d6ead1); color: var(--fb-light-text); border-color: rgba(18,35,27,.2); box-shadow: 0 16px 34px rgba(48,66,55,.22), 0 0 0 7px rgba(68,128,64,.08), inset 0 1px 0 rgba(255,255,255,.8); }
.theme-light .floating-agent-message p, .theme-light .floating-agent-header strong, .theme-light .floating-agent-result-strip strong { color: var(--fb-light-text); }
.theme-light .floating-agent-status, .theme-light .floating-agent-message.agent { background: rgba(68,128,64,.08); }
.theme-light .floating-agent-result-strip div, .theme-light .floating-agent-empty, .theme-light .floating-agent-message, .theme-light .floating-agent-examples button { background: rgba(246,249,244,.86); border-color: rgba(18,35,27,.12); color: var(--fb-light-text); }

