/* Rotating research + testimonial panel on the auth pages (approved Replit design). */
.testimonial-container.bo-panel {
    background: radial-gradient(ellipse at 90% 5%, rgba(230, 30, 38, .065), transparent 55%), #fef6f6;
    border: 1px solid #fae9eb;
    padding: 32px 24px;
    font-family: "Figtree", Arial, sans-serif;
    color: #1d2939;
}
.login-screen .testimonial-container.bo-panel .carousel-inner,
.testimonial-container.bo-panel .carousel-inner {
    max-width: 640px;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    border: 1px solid #f0dfe1;
    border-radius: 20px;
    box-shadow: 0 20px 56px -24px rgba(97, 28, 34, .2), 0 2px 8px rgba(29, 41, 57, .025);
    overflow: hidden;
}
.bo-panel .bo-card {
    display: flex;
    flex-direction: column;
    min-height: 540px;
    padding: 28px 32px;
    border-top: 4px solid #e61e26;
    background: #fff;
}
.bo-panel .bo-science { align-items: flex-start; text-align: left; background: linear-gradient(145deg, #fff 55%, #fff8f8 100%); }
.bo-panel .bo-label { font-size: 13px; font-weight: 700; color: #d11b23; margin: 0 0 12px; letter-spacing: .02em; }
.bo-panel .bo-stat { margin: 0 0 4px; color: #e61e26; font-size: 58px; font-weight: 800; line-height: 1.05; letter-spacing: -.055em; font-variant-numeric: lining-nums tabular-nums; }
.bo-panel .bo-subtitle { font-size: 14px; color: #475467; font-weight: 600; margin: 0 0 16px; }
.bo-panel .bo-graphic { width: 100%; margin: 0 0 14px; padding: 12px 0; border-top: 1px solid #f0e7e8; border-bottom: 1px solid #f0e7e8; }
.bo-panel .bo-graphic svg { display: block; width: 100%; height: auto; font: 14px Figtree, Arial, sans-serif; fill: #475467; }
.bo-panel .bo-graphic .chart-note { font-size: 11px; fill: #667085; }
.bo-panel .bo-quote { font-size: 19px; font-weight: 600; line-height: 1.4; letter-spacing: -.02em; color: #1d2939; margin: 0 0 12px; }
.bo-panel .bo-context { font-size: 12px; line-height: 1.5; color: #475467; margin: 0 0 16px; }
.bo-panel .bo-source { position: relative; margin: auto 0 0; padding-top: 12px; font-size: 12px; font-weight: 500; line-height: 1.6; color: #475467; }
.bo-panel .bo-source:before { position: absolute; top: -1px; left: 0; width: 36px; height: 2px; background: #e61e26; content: ""; }
.bo-panel .bo-source a { color: #d11b23; text-decoration: underline; text-decoration-color: #e9a0a5; text-underline-offset: 4px; }
.bo-panel .bo-caution { display: block; margin-top: 8px; font-size: 11px; line-height: 1.4; color: #667085; font-weight: 400; }

.bo-panel .bo-review { align-items: center; text-align: center; }
.bo-panel .bo-avatar { width: 88px; height: 88px; object-fit: cover; border: 4px solid #fff; border-radius: 50%; outline: 1px solid #f1d8dc; box-shadow: 0 6px 18px rgba(29, 41, 57, .08); }
.bo-panel .bo-stars { display: flex; gap: 5px; justify-content: center; padding: 16px 0; color: #ffc107; font-size: 22px; line-height: 1; }
.bo-panel .bo-review-text { max-width: 520px; margin: 6px 0 28px; color: #475467; font-size: 21px; font-weight: 450; line-height: 1.5; letter-spacing: -.025em; overflow-wrap: anywhere; }
.bo-panel .bo-author { width: 100%; margin: auto 0 0; padding: 20px 0 0; border-top: 1px solid #f0e7e8; color: #1d2939; font-size: 16px; font-weight: 700; }

.bo-panel .bo-nav { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 16px; max-width: 640px; margin: 24px auto 0; padding: 0 4px; }
.bo-panel .bo-arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #e8cfd3; border-radius: 50%; background: #fff; color: #1d2939; font: 28px/1 Arial, sans-serif; cursor: pointer; }
.bo-panel .bo-arrow:hover { background: #e61e26; color: #fff; border-color: #e61e26; }
.login-screen .testimonial-container.bo-panel .carousel-indicators.bo-dots,
.testimonial-container.bo-panel .carousel-indicators.bo-dots { position: static; display: flex; gap: 12px; justify-content: center; align-items: center; margin: 0; padding: 0; }
.login-screen .testimonial-container.bo-panel .carousel-indicators.bo-dots button,
.testimonial-container.bo-panel .carousel-indicators.bo-dots button { width: 8px; height: 8px; margin: 0; border: 0; border-radius: 999px; background: #cfb9bc; opacity: 1; text-indent: -999px; }
.login-screen .testimonial-container.bo-panel .carousel-indicators.bo-dots button.active,
.testimonial-container.bo-panel .carousel-indicators.bo-dots button.active { width: 24px; background: #d11b23; }

@media (max-width: 1199px) {
    .bo-panel .bo-card { min-height: 0; padding: 24px 22px; }
    .bo-panel .bo-stat { font-size: 48px; }
    .bo-panel .bo-quote { font-size: 18px; }
}
