.bsm-wrapper{width:100%;margin:1rem 0}.bsm-intro{margin-bottom:1rem}.bsm-intro-heading{color:#1a1a2e;margin:0 0 .3rem;font-size:1rem;font-weight:700;line-height:1.35}.bsm-intro-text{color:#4b5563;margin:0;font-size:.82rem;line-height:1.55}@media (min-width:768px){.bsm-intro-heading{font-size:1.05rem}.bsm-intro-text{font-size:.85rem}}.bsm-controls{justify-content:flex-end;margin-bottom:.6rem;display:flex}.bsm-toggle{background:#1a1a2e;border-radius:999px;gap:.2rem;padding:.2rem .25rem;display:inline-flex}.bsm-tab{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:.3rem .9rem;font-size:.75rem;font-weight:600}.bsm-tab.active{color:#1a1a2e;background:#fff}.bsm-tab:hover:not(.active){color:#fff}.bsm-scroll-outer{width:100%;position:relative}.bsm-scroll-outer:after{content:"";pointer-events:none;z-index:4;background:linear-gradient(90deg,#0000,#f5f5f0eb);border-radius:0 12px 12px 0;width:48px;position:absolute;top:0;bottom:0;right:0}@media (min-width:768px){.bsm-scroll-outer:after{display:none}}.bsm-scroll{border:1px solid #e0e0d8;border-radius:12px;width:100%;overflow-x:auto}.bsm-table{border-collapse:collapse;background:#fff;width:100%}.bsm-th-dim{color:#fff;vertical-align:middle;text-align:center;white-space:nowrap;z-index:3;background:#1a1a2e;border-right:3px solid #0ea5e9;padding:.75rem .5rem;position:sticky;left:0;box-shadow:4px 0 8px #0000001f}.bsm-th-count{color:#fff;vertical-align:middle;text-align:center;white-space:nowrap;z-index:3;background:#1a1a2e;border-left:1px solid #ffffff26;padding:.75rem .5rem;position:sticky;right:0;box-shadow:-4px 0 8px #0000001f}.bsm-dim-title{font-size:.7rem;font-weight:700;line-height:1.3;display:block}.bsm-dim-sub{opacity:.7;margin-top:.15rem;font-size:.62rem;line-height:1.3;display:block}.bsm-th-airline{color:#fff;text-align:center;vertical-align:bottom;background:#1a1a2e;width:36px;min-width:36px;max-width:36px;height:130px;padding:4px 0}.bsm-airline-name{writing-mode:vertical-lr;white-space:nowrap;font-size:.62rem;font-weight:500;line-height:1;display:inline-block;transform:rotate(180deg)}.bsm-row{cursor:pointer;border-bottom:1px solid #f0ede8}.bsm-row:last-child{border-bottom:none}.bsm-row:nth-child(2n){background:#fafaf8}.bsm-row:hover{background:#f0f4ff!important}.bsm-row.selected{background:#e8f4e8!important}.bsm-td-dim{white-space:nowrap;z-index:1;vertical-align:middle;text-align:center;background:#fff;border-right:3px solid #0ea5e9;padding:.65rem .6rem;font-weight:700;position:sticky;left:0;box-shadow:4px 0 8px #0000000f}.bsm-row:nth-child(2n) .bsm-td-dim{background:#fafaf8}.bsm-row:hover .bsm-td-dim{background:#f0f4ff}.bsm-row.selected .bsm-td-dim{background:#e8f4e8!important}.bsm-size-label{font-family:monospace;font-size:.85rem}.bsm-selected-tag{color:#fff;vertical-align:middle;background:#0ea5e9;border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;margin-left:.3rem;font-size:.55rem;font-weight:700;display:inline-flex}.bsm-td-icon{text-align:center;vertical-align:middle;width:36px;min-width:36px;max-width:36px;padding:.5rem 0}.bsm-td-count{text-align:center;vertical-align:middle;z-index:1;white-space:nowrap;background:#fff;border-left:1px solid #e8e8e0;padding:.5rem;position:sticky;right:0;box-shadow:-4px 0 8px #0000000f}.bsm-row:nth-child(2n) .bsm-td-count{background:#fafaf8}.bsm-row:hover .bsm-td-count{background:#f0f4ff}.bsm-row.selected .bsm-td-count{background:#e8f4e8!important}.bsm-count-badge{color:#fff;background:#1a1a2e;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:inline-flex}.bsm-row.selected .bsm-count-badge{background:#0ea5e9}.bsm-note{color:#1a1a2e;margin-top:.6rem;font-size:.8rem;font-weight:700}.bsm-loading{text-align:center;color:#777;padding:2rem;font-size:.875rem}.bsm-swipe-hint{display:none}@media (max-width:767px){.bsm-swipe-hint{color:#666;justify-content:center;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.72rem;font-weight:500;display:flex}.bsm-swipe-hint-arrow{color:#0ea5e9;font-size:.85rem}.bsm-tab{padding:.25rem .65rem;font-size:.68rem}.bsm-th-airline{width:30px;min-width:30px;max-width:30px;height:110px}.bsm-td-icon{width:30px;min-width:30px;max-width:30px}.bsm-airline-name{font-size:.56rem}.bsm-size-label{font-size:.75rem}}
