/* "Tune to your trading style" panel (premium light). */
.psp {
    background: var(--color-surface-card, #fff); border: 1px solid var(--color-border-light, #e5e7eb);
    border-radius: 14px; margin: 0 0 18px; overflow: hidden;
    box-shadow: 0 8px 28px rgba(91, 76, 178, 0.07);
}
.psp-toggle {
    width: 100%; display: flex; align-items: center; gap: 10px; border: none; background: none; cursor: pointer;
    font-size: 15px; font-weight: 700; color: var(--color-text-primary, #1a1a2e); padding: 15px 18px; text-align: left;
}
.psp-toggle .bx-slider-alt { color: #6366f1; font-size: 20px; }
.psp-state { font-size: 11px; font-weight: 800; color: #fff; background: #10b981; padding: 1px 8px; border-radius: 20px; }
.psp-state:empty { display: none; }
.psp-chev { margin-left: auto; color: #9a93b8; transition: transform 0.2s ease; }
.psp.is-on .psp-chev { transform: rotate(180deg); }
.psp-body { max-height: 0; overflow: hidden; transition: max-height 0.28s ease; }
.psp.is-on .psp-body { max-height: 420px; }
.psp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; padding: 4px 18px 14px; align-items: end; }
.psp-ctl { display: flex; flex-direction: column; gap: 7px; }
.psp-ctl > span { font-size: 12.5px; font-weight: 600; color: var(--color-text-gray, #666); }
.psp-ctl strong { color: #6366f1; }
.psp-ctl input[type=range] { width: 100%; accent-color: #6366f1; }
.psp-seg { display: flex; gap: 4px; background: #f1f3f5; border-radius: 9px; padding: 3px; }
.psp-seg button { flex: 1; border: none; background: none; cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--color-text-gray, #666); padding: 7px 4px; border-radius: 7px; }
.psp-seg button.is-on { background: #fff; color: #5a49bf; box-shadow: 0 1px 3px rgba(17, 24, 39, 0.1); }
.psp-reset { align-self: end; border: 1px solid #e5e7eb; background: #fff; color: #9a93b8; font-size: 12.5px; font-weight: 600; padding: 8px 14px; border-radius: 9px; cursor: pointer; }
.psp-reset:hover { color: #5a49bf; }
.psp-note { font-size: 11.5px; color: #9a93b8; margin: 0; padding: 0 18px 14px; }

/* best-match flag on a card */
.firm-card[data-best] { box-shadow: 0 0 0 2px #10b981, 0 12px 36px rgba(16, 185, 129, 0.18) !important; position: relative; }
.firm-card[data-best]::before {
    content: "Best match for you"; position: absolute; top: -1px; left: 50%; transform: translateX(-50%) translateY(-50%);
    background: linear-gradient(135deg, #10b981, #059669); color: #fff; font-size: 11px; font-weight: 800;
    padding: 3px 12px; border-radius: 20px; z-index: 3; white-space: nowrap;
}
