.insurance-main { min-width: 0; }
.sidebar-item.active .sb-icon i { color: white !important; }
.insurance-content { width: 100%; max-width: 1000px; margin: 0 auto; }
.insurance-banner { width: 92%; margin: 0 auto; min-height: 125px; padding: 22px 18%; display: flex; flex-direction: column; justify-content: center; text-align: center; color: #fff; background: url('../images/insurance/banner.webp') center / 100% 100% no-repeat; }
.insurance-banner h1 { font-size: clamp(24px,3vw,42px); font-weight: 800; margin-bottom: 10px; }
.insurance-banner p { font-size: 12px; line-height: 1.6; font-weight: 600; }
.insurance-podium { position: relative; height: 310px; width: 100%; margin: 10px auto -24px; }
.podium-wings { position: absolute; width: 64%; height: 220px; left: 18%; top: 0; pointer-events: none; }
.podium-wings img { width: 100%; height: 100%; object-fit: contain; }
.podium-members { position: relative; z-index: 1; display: flex; justify-content: center; align-items: flex-end; height: 100%; gap: 16px; }
.podium-member { position: relative; width: 180px; height: 220px; text-align: center; color: white; padding-top: 137px; background: url('../images/insurance/No2-bg.webp') center bottom / 100% 155px no-repeat; }
.podium-member.rank-1 { width: 215px; height: 282px; padding-top: 183px; background-image: url('../images/insurance/No1-bg.webp'); background-size: 100% 182px; }
.podium-member.rank-3 { background-image: url('../images/insurance/No3-bg.webp'); }
.podium-portrait { position: absolute; width: 150px; height: 150px; top: 0; left: 50%; transform: translateX(-50%); }
.rank-1 .podium-portrait { width: 212px; height: 212px; }
.podium-portrait .portrait-initials { position: absolute; left: 27%; top: 26%; width: 47%; height: 47%; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(135deg,#b9e3ff,#e8d2ff); color: #454582; font-size: 30px; font-weight: 800; }
.rank-1 .portrait-initials { top: 33%; left: 31%; width: 40%; height: 40%; }
.podium-frame { position: absolute; inset: 0; width: 100%; height: 100%; }
.podium-member h2 { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 8px; }
.podium-member p { font-size: 14px; font-weight: 700; margin-top: 5px; }
.insurance-board { position: relative; z-index: 2; height: 550px; padding: 78px 7% 36px; background: url('../images/insurance/bg.webp') center / 100% 100% no-repeat; }
.insurance-board::before { content: ''; position: absolute; inset: 43px 15px 18px; background: #fff; z-index: -1; }
.board-content { height: 100%; display: flex; flex-direction: column; gap: 10px; }
.member-search { display: flex; align-items: center; flex-shrink: 0; gap: 9px; padding: 0 13px; background: #f3f6ff; border: 1px solid #e7edff; border-radius: 8px; color: #a698ff; }
.member-search input { width: 100%; min-width: 0; height: 36px; border: 0; background: transparent; font-size: 13px; color: #334155; outline: none; }
.member-search:focus-within { outline: 2px solid #a5a0fc; }
.insurance-list { overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: #d9d2ff transparent; }
.insurance-row { display: flex; align-items: center; gap: 12px; min-height: 51px; padding: 8px 14px; border-radius: 8px; margin-bottom: 6px; background: #edf3ff; font-size: 14px; }
.insurance-row:hover { background: #e5ebff; }
.member-rank { flex: 0 0 24px; text-align: center; color: #8b78ff; font-weight: 700; }
.member-initials { width: 33px; height: 33px; flex-shrink: 0; display: grid; place-items: center; background: #e1d7fb; color: #655090; border: 2px solid #bba8ee; border-radius: 50%; font-size: 11px; font-weight: 700; }
.member-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.member-amount { margin-left: auto; white-space: nowrap; font-weight: 700; }
.insurance-empty { text-align: center; padding: 50px 12px; color: #64748b; font-size: 14px; }
.insurance-demo { text-align: center; color: #777b91; font-size: 11px; padding: 12px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width:1024px) {
 .insurance-main { padding: 20px 24px; }
 .insurance-content { max-width: 1200px; }
}
@media (min-width:1440px) {
 .insurance-banner { min-height: 150px; padding-top: 26px; padding-bottom: 26px; }
 .insurance-banner h1 { font-size: 48px; }
 .insurance-banner p { font-size: 14px; }
 .insurance-podium { height: 372px; margin-bottom: -29px; }
 .podium-wings { height: 264px; }
 .podium-members { gap: 20px; }
 .podium-member { width: 216px; height: 264px; padding-top: 164px; background-size: 100% 186px; }
 .podium-member.rank-1 { width: 258px; height: 338px; padding-top: 220px; background-size: 100% 218px; }
 .podium-portrait { width: 180px; height: 180px; }
 .rank-1 .podium-portrait { width: 254px; height: 254px; }
 .podium-member h2, .podium-member p { font-size: 17px; }
 .insurance-board { height: 680px; padding-top: 94px; padding-bottom: 43px; }
 .insurance-board::before { inset: 53px 18px 22px; }
 .insurance-row { min-height: 59px; font-size: 16px; }
 .member-initials { width: 38px; height: 38px; font-size: 12px; }
 .member-search input { height: 40px; font-size: 14px; }
}
@media (max-width:1023px) {
 .insurance-main { padding: 8px 8px 95px; }
 .insurance-banner { width: 100%; padding: 16px 12%; min-height: 116px; }
 .insurance-banner h1 { font-size: 26px; }
 .insurance-banner p { font-size: 10px; }
 .insurance-podium { height: 246px; margin-top: 10px; margin-bottom: -22px; }
 .podium-wings { width: 96%; left: 2%; height: 170px; }
 .podium-members { gap: 2px; }
 .podium-member { width: 29%; height: 179px; padding-top: 113px; background-size: 100% 115px; }
 .podium-member.rank-1 { width: 37%; height: 220px; padding-top: 144px; background-size: 100% 142px; }
 .podium-portrait { width: 120px; height: 120px; }
 .rank-1 .podium-portrait { width: 162px; height: 162px; }
 .podium-member h2,.podium-member p { font-size: 11px; }
 .podium-member p { margin-top: 4px; }
 .insurance-board { height: 510px; padding: 48px 16px 23px; }
 .insurance-board::before { inset: 29px 7px 12px; }
 .insurance-row { padding: 8px 7px; gap: 6px; font-size: 11px; }
 .member-rank { flex-basis: 17px; }
 .member-initials { width: 27px; height: 27px; font-size: 9px; }
}
@media (max-width:360px) {
 .podium-portrait { width: 102px; height: 102px; top: 12px; }
 .rank-1 .podium-portrait { width: 145px; height: 145px; top: 12px; }
 .podium-member p { font-size: 10px; }
}
