.offline-download-button { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.14); background: #171b23; color: #fff; border-radius: 10px; padding: 10px 15px; font-weight: 800; cursor: pointer; transition: .2s }
.offline-download-button:hover { background: #212733; border-color: rgba(229,42,80,.55) }
.offline-download-button[hidden] { display: none !important }
.offline-download-button:disabled { opacity: .55; cursor: wait }
.offline-information { max-width: 100%; text-align: left; color: #3e4652; font-size: 14px; line-height: 1.5; overflow: hidden }
.offline-information > p { margin: 0 0 14px }
.offline-install-guide { display: grid; gap: 10px; max-width: 100%; padding: 14px; border-radius: 12px; background: #f3f5f8 }
.offline-install-guide > strong { color: #161a20; margin-bottom: 2px; font-size: 15px }
.offline-install-step { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: start; min-width: 0; padding: 9px; border: 1px solid #e5e8ed; border-radius: 10px; background: #fff }
.offline-install-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 9px; background: rgba(229,42,80,.1); color: #e52a50; font-size: 17px }
.offline-install-step div { min-width: 0 }
.offline-install-step b { display: block; color: #20252c; line-height: 1.35 }
.offline-install-step p { margin: 3px 0 0; color: #68707c; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere }
.offline-install-note { margin-top: 14px !important; font-size: 13px; color: #68707c }
.offline-dont-show { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; font-weight: 700; cursor: pointer }
.offline-dont-show input { flex: 0 0 auto; margin-top: 3px }
.offline-download-progress { height: 9px; border-radius: 999px; background: #e8ebef; overflow: hidden; margin: 16px 0 8px }
.offline-download-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,#e52a50,#ff7893); transition: width .2s }
.offline-download-progress-label { font-size: 13px; font-weight: 800 }
.offline-progress-note { font-size: 12px; color: #7b8390; margin-top: 10px }
.offline-bulk-list { display: grid; gap: 7px; max-height: 420px; overflow: auto; text-align: left; padding-right: 5px }
.offline-bulk-list label { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e4e7eb; border-radius: 10px; cursor: pointer }
.offline-bulk-list input { width: 18px; height: 18px; accent-color: #e52a50 }
.offline-bulk-list span { display: flex; flex-direction: column; min-width: 0 }
.offline-bulk-list small { color: #7a818d }
.detail-offline-action { margin-top: 12px }
.player-actions .offline-download-button { margin-right: auto }

@media (max-width: 600px) {
    .offline-download-button { width: 100%; justify-content: center }
    .player-actions .offline-download-button { order: 3 }
    .swal2-popup .offline-information { font-size: 13px }
    .offline-install-guide { padding: 10px }
    .offline-install-step { grid-template-columns: 30px minmax(0,1fr); gap: 8px; padding: 8px }
    .offline-install-icon { width: 30px; height: 30px; font-size: 15px }
    .offline-install-step p { font-size: 12px }
}
