.fsc-root { --fsc-color: #8b1e3f; position: fixed; right: 20px; bottom: 20px; z-index: 99999; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.fsc-root *, .fsc-root *::before, .fsc-root *::after { box-sizing: border-box; }
.fsc-launcher { width: 58px; height: 58px; border-radius: 50%; border: 0; background: var(--fsc-color); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 20px rgba(0,0,0,.3); }
.fsc-launcher:hover { filter: brightness(1.1); }
.fsc-panel { width: 380px; max-width: calc(100vw - 24px); height: 600px; max-height: calc(100vh - 40px); background: #fff; border-radius: 14px; box-shadow: 0 10px 40px rgba(0,0,0,.3); display: flex; flex-direction: column; overflow: hidden; }
.fsc-panel[hidden] { display: none; }
.fsc-head { background: var(--fsc-color); color: #fff; padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; font-weight: 600; letter-spacing: .2px; }
.fsc-close { background: none; border: 0; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }
.fsc-log { flex: 1; overflow-y: auto; padding: 14px; background: #f7f5f6; display: flex; flex-direction: column; gap: 8px; }
.fsc-msg { max-width: 86%; padding: 9px 12px; border-radius: 12px; font-size: 14px; line-height: 1.45; word-wrap: break-word; }
.fsc-bot { background: #fff; color: #222; align-self: flex-start; border: 1px solid #e6e1e4; }
.fsc-user { background: var(--fsc-color); color: #fff; align-self: flex-end; }
.fsc-typing { opacity: .6; }

.fsc-products { display: flex; flex-direction: column; gap: 8px; }
.fsc-card { display: flex; gap: 10px; background: #fff; border: 1px solid #e6e1e4; border-radius: 10px; padding: 8px; text-decoration: none; color: #222; }
.fsc-card:hover { border-color: var(--fsc-color); }
.fsc-card img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; flex-shrink: 0; background: #eee; }
.fsc-card-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fsc-card-name { font-size: 13px; font-weight: 600; line-height: 1.3; }
.fsc-card-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.fsc-card-price { font-size: 13px; font-weight: 600; color: var(--fsc-color); }
.fsc-card-was { font-size: 12px; color: #888; }
.fsc-badge { font-size: 10px; background: var(--fsc-color); color: #fff; border-radius: 4px; padding: 1px 5px; text-transform: uppercase; letter-spacing: .4px; }
.fsc-card-meta { font-size: 11px; color: #777; }
.fsc-card-oos { font-size: 11px; color: #b32d2e; }

.fsc-links { display: flex; flex-wrap: wrap; gap: 6px; }
.fsc-link { display: inline-block; font-size: 13px; padding: 7px 12px; border-radius: 18px; background: #fff; border: 1px solid var(--fsc-color); color: var(--fsc-color); text-decoration: none; }
.fsc-link:hover { background: var(--fsc-color); color: #fff; }

.fsc-chips { display: flex; flex-direction: column; gap: 8px; padding-top: 2px; }
.fsc-chiptitle { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: #8a8286; margin-bottom: 4px; }
.fsc-chiprow { display: flex; flex-wrap: wrap; gap: 6px; }
.fsc-chip { border: 1px solid #d9d2d6; background: #fff; color: #333; border-radius: 16px; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.fsc-chip:hover { border-color: var(--fsc-color); color: var(--fsc-color); }
.fsc-chip-strong { background: var(--fsc-color); border-color: var(--fsc-color); color: #fff; }
.fsc-chip-strong:hover { filter: brightness(1.1); color: #fff; }

.fsc-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #e6e1e4; background: #fff; }
.fsc-input { flex: 1; border: 1px solid #d0c9cd; border-radius: 20px; padding: 9px 14px; font-size: 14px; min-width: 0; }
.fsc-input:focus { outline: 2px solid var(--fsc-color); outline-offset: -1px; }
.fsc-send { border: 0; background: var(--fsc-color); color: #fff; border-radius: 20px; padding: 0 16px; cursor: pointer; font-weight: 600; }
.fsc-send:disabled { opacity: .5; cursor: default; }
.fsc-foot { font-size: 11px; color: #8a8286; text-align: center; padding: 0 10px 8px; background: #fff; }

.fsc-gate { margin: auto; text-align: center; max-width: 280px; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.fsc-gate-title { font-size: 18px; font-weight: 700; color: var(--fsc-color); }
.fsc-gate p { margin: 0; font-size: 14px; color: #444; line-height: 1.5; }
.fsc-gate-yes, .fsc-gate-no { width: 100%; padding: 10px; border-radius: 22px; font-size: 14px; cursor: pointer; font-weight: 600; }
.fsc-gate-yes { background: var(--fsc-color); color: #fff; border: 0; }
.fsc-gate-no { background: #fff; color: #555; border: 1px solid #d0c9cd; }

@media (max-width: 480px) {
	.fsc-root { right: 12px; bottom: 12px; }
	.fsc-panel { height: calc(100vh - 24px); }
}
