/* ==========================================================================
   Dokter Mekanik Rewards & Redeem Custom Theme
   Warm Mahogany, Engineering Orange & Golden Amber Palette
   ========================================================================== */

/* ---------- Container & Page Wrapper ---------- */
.rr-page,
.mp-page {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    background-color: #FDFBF8 !important;
    color: #320000 !important;
    padding-top: 105px !important;
    padding-bottom: 70px !important;
    overflow-x: hidden !important;
}

.mp-layout,
.mp-main,
.mp-catalog {
    width: 100% !important;
    max-width: 100% !important;
}

/* ---------- Hero Banner (Deep Mahogany & Amber Lighting) ---------- */
.mpz-hero {
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
    gap: 32px !important;
    margin-bottom: 24px !important;
    padding: 38px 40px !important;
    border-radius: 28px !important;
    background:
        radial-gradient(540px 320px at 100% 0%, rgba(255, 180, 2, .26), transparent 70%),
        radial-gradient(460px 280px at 0% 100%, rgba(212, 84, 0, .32), transparent 70%),
        linear-gradient(135deg, #1A0505 0%, #300C06 42%, #5D1F02 82%, #7B2A00 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 30px 60px -30px rgba(30, 8, 4, .7) !important;
    border: 1px solid rgba(255, 180, 2, 0.22) !important;
}

.mpz-hero::after {
    border-color: rgba(255, 255, 255, .06) !important;
}

.mpz-eyebrow {
    background: rgba(255, 255, 255, .15) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 180, 2, 0.35) !important;
    font-weight: 700 !important;
    letter-spacing: .4px !important;
}

.mpz-eyebrow i {
    color: #FFB402 !important;
}

.mpz-title {
    color: #FFFFFF !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 800 !important;
}

.mpz-balance-label {
    color: rgba(255, 255, 255, .82) !important;
    font-weight: 500 !important;
}

.mpz-balance strong {
    color: #FFFFFF !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 800 !important;
    text-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

.mpz-balance span {
    color: rgba(255, 255, 255, .85) !important;
    font-weight: 600 !important;
}

.mpz-balance-note {
    color: rgba(255, 255, 255, .8) !important;
}

.mpz-btn-light {
    background: #FFFFFF !important;
    color: #4D1600 !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.35) !important;
    border: 1px solid transparent !important;
}

.mpz-btn-light:hover {
    background: #FFF8F0 !important;
    color: #D45400 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 28px -8px rgba(0, 0, 0, 0.45) !important;
}

.mpz-btn-ghost {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
    font-weight: 700 !important;
}

.mpz-btn-ghost:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

.mpz-count {
    background: #E06A00 !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    border-radius: 999px !important;
}

/* ---------- Right Side Next Reward Card ---------- */
.mpz-next {
    background: #FFFFFF !important;
    color: #320000 !important;
    border-radius: 20px !important;
    padding: 22px 24px !important;
    box-shadow: 0 16px 36px -12px rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.mpz-next a {
    color: #D45400 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.mpz-next a:hover {
    color: #B84600 !important;
    text-decoration: underline !important;
}

.mpz-next-label {
    color: #D45400 !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    letter-spacing: .6px !important;
    text-transform: uppercase !important;
}

.mpz-next strong {
    color: #320000 !important;
    font-size: 19px !important;
    font-weight: 800 !important;
}

.mpz-next small {
    color: #7A6652 !important;
    font-weight: 600 !important;
}

.mpz-progress {
    background: #F3ECE2 !important;
    height: 8px !important;
    border-radius: 999px !important;
    margin: 12px 0 8px !important;
}

.mpz-progress span {
    background: linear-gradient(90deg, #FFB402 0%, #D45400 100%) !important;
    border-radius: 999px !important;
}

/* Mini Stats Inside Hero (Harmonious Multi-Tone Glass Cards) */
.mpz-mini {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
}

.mpz-mini > div {
    padding: 16px 14px !important;
    border-radius: 18px !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.mpz-mini > div:hover {
    transform: translateY(-3px) !important;
}

/* Card 1: Poin Ditahan (Refined Frosted Platinum Glass) */
.mpz-mini > div:nth-child(1) {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 8px 22px -8px rgba(0, 0, 0, 0.3) !important;
}

.mpz-mini > div:nth-child(1) dd {
    color: #FFFFFF !important;
}

/* Card 2: Reward Tersedia (Luminous Golden Amber) */
.mpz-mini > div:nth-child(2) {
    background: linear-gradient(135deg, rgba(255, 180, 2, 0.24) 0%, rgba(224, 106, 0, 0.12) 100%) !important;
    border: 1px solid rgba(255, 180, 2, 0.45) !important;
    box-shadow: 0 8px 24px -8px rgba(255, 180, 2, 0.35) !important;
}

.mpz-mini > div:nth-child(2) dd {
    color: #FFD56B !important;
    text-shadow: 0 2px 10px rgba(255, 180, 2, 0.45) !important;
}

/* Card 3: Siap Ditukar (Fresh Mint Emerald Accent) */
.mpz-mini > div:nth-child(3) {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22) 0%, rgba(5, 150, 105, 0.1) 100%) !important;
    border: 1px solid rgba(52, 211, 153, 0.4) !important;
    box-shadow: 0 8px 24px -8px rgba(16, 185, 129, 0.3) !important;
}

.mpz-mini > div:nth-child(3) dd {
    color: #6EE7B7 !important;
    text-shadow: 0 2px 10px rgba(16, 185, 129, 0.4) !important;
}

.mpz-mini dt {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

.mpz-mini dd {
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin: 6px 0 4px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

.mpz-mini small {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    line-height: 1.3 !important;
    display: block !important;
}

/* ---------- 3-Step Flow Guide ---------- */
.rrz-flow {
    background: #FFFFFF !important;
    border: 1px solid rgba(74, 43, 0, 0.08) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px -15px rgba(50, 0, 0, 0.06) !important;
    padding: 20px 24px !important;
    margin-bottom: 20px !important;
}

.rrz-flow-no {
    background: linear-gradient(135deg, #FFB402 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 12px rgba(212, 84, 0, 0.3) !important;
    border-radius: 10px !important;
}

.rrz-flow strong {
    color: #320000 !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
}

.rrz-flow span {
    color: #6C5235 !important;
    font-size: 13px !important;
}

.rrz-flow-link {
    color: #320000 !important;
    border: 1.5px solid rgba(74, 43, 0, 0.15) !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    transition: all 0.2s ease !important;
}

.rrz-flow-link:hover {
    color: #D45400 !important;
    border-color: #D45400 !important;
    background: #FFF8F0 !important;
    transform: translateY(-1px) !important;
}

/* ---------- Disclaimer Banner ---------- */
.mp-disclaimer {
    display: flex !important;
    align-items: flex-start !important;
    text-align: left !important;
    background: #FFF9EE !important;
    border: 1px solid #FFE4A0 !important;
    border-radius: 16px !important;
    color: #6C5235 !important;
    padding: 16px 20px !important;
    margin-bottom: 26px !important;
    gap: 12px !important;
}

.mp-disclaimer i {
    color: #D45400 !important;
    font-size: 19px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.mp-disclaimer p {
    text-align: left !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
}

.mp-disclaimer strong {
    color: #320000 !important;
}

/* ---------- Section Header & Controls ---------- */
.mp-section-head h2 {
    color: #320000 !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 26px !important;
}

.mp-section-head p {
    color: #6C5235 !important;
    font-size: 14px !important;
}

.mp-count {
    background: #FFF4E5 !important;
    color: #D45400 !important;
    border: 1px solid rgba(224, 106, 0, 0.25) !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
}

/* ---------- Toolbar Filter (Clean, Balanced & Seamless) ---------- */
.rr-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 14px 20px !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(74, 43, 0, 0.08) !important;
    box-shadow: 0 10px 30px -15px rgba(50, 0, 0, 0.06) !important;
    margin-bottom: 26px !important;
}

.rr-toolbar .mp-chips {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
}

.rr-toolbar .mp-chip input:checked + span {
    background: linear-gradient(135deg, #E06A00 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    border-color: #D45400 !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.28) !important;
    font-weight: 700 !important;
}

.rr-toolbar .mp-chip span {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    border: 1px solid rgba(74, 43, 0, 0.12) !important;
    background: #FFFDF8 !important;
    color: #6C5235 !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.rr-toolbar .mp-chip span:hover {
    color: #D45400 !important;
    border-color: #FFB402 !important;
    background: #FFF9EE !important;
}

.rr-toolbar .mp-search {
    flex: 1 1 260px !important;
    max-width: 420px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #FFFDF8 !important;
    border: 1.5px solid rgba(74, 43, 0, 0.12) !important;
    border-radius: 999px !important;
    padding: 0 18px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
}

.rr-toolbar .mp-search:focus-within {
    border-color: #D45400 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(212, 84, 0, 0.14) !important;
}

.rr-toolbar .mp-search i {
    color: #D45400 !important;
    font-size: 15px !important;
    flex-shrink: 0 !important;
}

.rr-toolbar .mp-search input[type="search"] {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #320000 !important;
    font-size: 13.5px !important;
    outline: none !important;
    box-shadow: none !important;
}

.rr-toolbar .mp-sort {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.rr-toolbar .mp-sort > span {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #7A6652 !important;
}

.rr-toolbar .mp-sort select {
    height: 42px !important;
    padding: 0 38px 0 16px !important;
    border-radius: 999px !important;
    border: 1.5px solid rgba(74, 43, 0, 0.12) !important;
    background: #FFFDF8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23D45400' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    color: #320000 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.rr-toolbar .mp-sort select:focus {
    border-color: #D45400 !important;
    box-shadow: 0 0 0 3px rgba(212, 84, 0, 0.14) !important;
}

/* ---------- Reward Cards Grid ---------- */
.mp-reward {
    background: #FFFFFF !important;
    border: 1px solid rgba(74, 43, 0, 0.08) !important;
    border-radius: 20px !important;
    box-shadow: 0 6px 20px rgba(50, 0, 0, 0.04) !important;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.mp-reward:hover {
    border-color: #FFB402 !important;
    box-shadow: 0 16px 36px -10px rgba(224, 106, 0, 0.16) !important;
    transform: translateY(-4px) !important;
}

.mp-visual-voucher {
    background: linear-gradient(135deg, #FFF6EC 0%, #FFE9D1 100%) !important;
    color: #D45400 !important;
}

.mp-visual-gift {
    background: linear-gradient(135deg, #FFF9EB 0%, #FFEFC2 100%) !important;
    color: #D45400 !important;
}

.mp-reward-visual {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 18px 18px 0 0 !important;
}

.mp-reward-cover {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.45s ease !important;
    z-index: 1 !important;
}

.mp-reward:hover .mp-reward-cover {
    transform: scale(1.06) !important;
}

.mp-reward-type {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 2 !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #D45400 !important;
    border: 1px solid rgba(224, 106, 0, 0.2) !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12) !important;
}

.mp-reward-mark {
    position: absolute !important;
    bottom: 12px !important;
    right: 12px !important;
    z-index: 2 !important;
    background: rgba(30, 8, 4, 0.82) !important;
    color: #FFB402 !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border-radius: 8px !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(255, 180, 2, 0.25) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;
}

.mp-reward-body h3 {
    color: #320000 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

.mp-reward-detail {
    color: #6C5235 !important;
    font-size: 13px !important;
}

.mp-reward-price strong {
    color: #D45400 !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

.mp-reward-price span {
    color: #7A6652 !important;
    font-weight: 600 !important;
}

/* Action Buttons */
.mp-button-primary {
    background: linear-gradient(135deg, #E06A00 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.25) !important;
    transition: all 0.2s ease !important;
}

.mp-button-primary:hover {
    background: #B84600 !important;
    box-shadow: 0 6px 18px rgba(212, 84, 0, 0.35) !important;
    transform: translateY(-1px) !important;
}

.mp-button-light {
    background: #FFF4E5 !important;
    color: #D45400 !important;
    border: 1px solid rgba(224, 106, 0, 0.2) !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
}

.mp-button-light:hover {
    background: #FFE8CC !important;
    border-color: #FFB402 !important;
    color: #B84600 !important;
}

.rr-more-btn {
    background: #FFFFFF !important;
    color: #320000 !important;
    border: 1.5px solid rgba(74, 43, 0, 0.15) !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
}

.rr-more-btn:hover {
    background: #FFF8F0 !important;
    border-color: #D45400 !important;
    color: #D45400 !important;
    transform: translateY(-1px) !important;
}

/* Coin Icon */
.mp-coin {
    display: inline-block !important;
    vertical-align: -2px !important;
    filter: drop-shadow(0 2px 4px rgba(224, 106, 0, 0.28)) !important;
}

/* Dialog / Modal Customization */
.mp-dialog {
    border: none !important;
    border-radius: 24px !important;
    padding: 0 !important;
    box-shadow: 0 25px 60px -15px rgba(50, 0, 0, 0.35) !important;
}

.mp-dialog::backdrop {
    background: rgba(30, 10, 5, 0.6) !important;
    backdrop-filter: blur(4px) !important;
}

.mp-dialog-content {
    border-radius: 24px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(74, 43, 0, 0.1) !important;
}

.mp-stat-icon {
    background: #FFF4E5 !important;
    color: #D45400 !important;
    border: 1px solid rgba(224, 106, 0, 0.2) !important;
}

.mp-options-card {
    background: #FFFDF8 !important;
    border: 1px solid rgba(74, 43, 0, 0.1) !important;
    border-radius: 18px !important;
}

.mp-options-card h4 {
    color: #320000 !important;
}

.mp-options-row strong {
    color: #D45400 !important;
    font-weight: 800 !important;
}

/* ==========================================================================
   Responsive Design Rules
   - Tablet (<= 850px)
   - Mobile (<= 414px)
   - Small Mobile (<= 360px)
   ========================================================================== */

#reward-catalog {
    scroll-margin-top: 100px !important;
}

/* ---------- Tablet (<= 850px) ---------- */
@media (max-width: 850px) {
    .rr-page,
    .mp-page {
        padding-top: 90px !important;
        padding-bottom: 50px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Hero Banner */
    .mpz-hero {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 30px 24px !important;
        border-radius: 24px !important;
    }

    .mpz-hero-main {
        max-width: 100% !important;
    }

    .mpz-balance strong {
        font-size: 52px !important;
    }

    .mpz-hero-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        margin-top: 20px !important;
    }

    .mpz-hero-side {
        gap: 14px !important;
    }

    .mpz-next {
        padding: 20px !important;
        border-radius: 18px !important;
    }

    .mpz-next strong {
        font-size: 17px !important;
    }

    /* Mini Stats on Tablet */
    .mpz-mini {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .mpz-mini > div {
        padding: 14px 12px !important;
        border-radius: 16px !important;
    }

    .mpz-mini dt {
        font-size: 10.5px !important;
    }

    .mpz-mini dd {
        font-size: 24px !important;
    }

    .mpz-mini small {
        font-size: 10px !important;
    }

    /* 3-Step Flow Guide */
    .rrz-flow {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
        padding: 20px 22px !important;
        border-radius: 18px !important;
    }

    .rrz-flow ol {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .rrz-flow li:not(:last-child)::after {
        display: none !important;
    }

    .rrz-flow-link {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 10px !important;
    }

    /* Toolbar Filter on Tablet */
    .rr-toolbar {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 14px 16px !important;
    }

    .rr-toolbar .mp-chips {
        width: 100% !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: 4px !important;
        -webkit-overflow-scrolling: touch !important;
        order: 1 !important;
    }

    .rr-toolbar .mp-search {
        order: 2 !important;
        flex: 1 1 240px !important;
        max-width: 380px !important;
        height: 42px !important;
        border-radius: 12px !important;
    }

    .rr-toolbar .mp-sort {
        order: 3 !important;
        flex: 0 0 auto !important;
    }

    /* Reward Cards Grid: 2 columns on tablet */
    .mp-reward-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }

    /* Option Modal Responsive on Tablet (<= 850px) */
    .mp-dialog.dm-popup-options {
        width: 95vw !important;
        max-width: 780px !important;
        border-radius: 18px !important;
        margin: auto !important;
    }

    .dm-popup-content {
        padding: 20px 18px !important;
        max-height: 88vh !important;
    }

    .dm-popup-body-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* ---------- Mobile Standard (<= 414px) ---------- */
@media (max-width: 414px) {
    .rr-page,
    .mp-page {
        padding-top: 75px !important;
        padding-bottom: 40px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Hero Banner */
    .mpz-hero {
        padding: 22px 16px !important;
        border-radius: 20px !important;
        gap: 18px !important;
        margin-bottom: 16px !important;
    }

    .mpz-hero-main {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .mpz-eyebrow {
        display: inline-flex !important;
        align-self: flex-start !important;
        font-size: 11px !important;
        padding: 4px 12px !important;
        margin-bottom: 2px !important;
    }

    .mpz-title {
        font-size: 24px !important;
        text-align: left !important;
        width: 100% !important;
    }

    .mpz-balance-label {
        display: block !important;
        align-self: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        font-size: 12px !important;
        margin: 12px 0 2px 0 !important;
    }

    .mpz-balance {
        display: flex !important;
        align-items: baseline !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .mpz-balance strong {
        font-size: 38px !important;
        letter-spacing: -1px !important;
        line-height: 1.1 !important;
        text-align: left !important;
    }

    .mpz-balance span {
        font-size: 13.5px !important;
        text-align: left !important;
    }

    .mpz-balance-note {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
        gap: 6px !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
        margin: 10px 0 16px 0 !important;
        width: 100% !important;
    }

    .mpz-balance-note i {
        margin-top: 2px !important;
        flex-shrink: 0 !important;
    }

    .mpz-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin-top: 0 !important;
        width: 100% !important;
    }

    .mpz-btn {
        height: 42px !important;
        padding: 0 10px !important;
        font-size: 12.5px !important;
        justify-content: center !important;
        border-radius: 12px !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .mpz-btn i {
        font-size: 13px !important;
    }

    .mpz-next {
        padding: 16px 14px !important;
        border-radius: 16px !important;
        gap: 6px !important;
    }

    .mpz-next-label {
        font-size: 10px !important;
    }

    .mpz-next strong {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    .mpz-next small {
        font-size: 11px !important;
    }

    .mpz-progress {
        margin: 8px 0 6px !important;
        height: 6px !important;
    }

    /* Mini Stats on Mobile: Compact 3-Column Grid */
    .mpz-mini {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 8px !important;
    }

    .mpz-mini > div {
        padding: 10px 6px !important;
        border-radius: 12px !important;
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .mpz-mini dt {
        font-size: 9px !important;
        letter-spacing: 0.2px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }

    .mpz-mini dd {
        font-size: 20px !important;
        margin: 4px 0 2px !important;
        line-height: 1 !important;
    }

    .mpz-mini small {
        font-size: 9px !important;
        line-height: 1.2 !important;
        opacity: 0.8 !important;
        display: block !important;
    }

    /* 3-Step Flow Guide on Mobile: Vertical Stack */
    .rrz-flow {
        padding: 16px 14px !important;
        border-radius: 16px !important;
        margin-bottom: 16px !important;
    }

    .rrz-flow ol {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .rrz-flow li {
        gap: 10px !important;
    }

    .rrz-flow-no {
        flex: 0 0 28px !important;
        width: 28px !important;
        height: 28px !important;
        font-size: 12px !important;
        border-radius: 8px !important;
    }

    .rrz-flow strong {
        font-size: 13.5px !important;
    }

    .rrz-flow span {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    .rrz-flow-link {
        font-size: 12.5px !important;
        padding: 9px !important;
        border-radius: 10px !important;
    }

    /* Disclaimer */
    .mp-disclaimer {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 12px 14px !important;
        border-radius: 14px !important;
        font-size: 12px !important;
        margin-bottom: 20px !important;
    }

    .mp-disclaimer i {
        font-size: 17px !important;
        flex-shrink: 0 !important;
        margin-top: 2px !important;
    }

    .mp-disclaimer p {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin: 0 !important;
    }

    /* Section Head: Title left, count badge right */
    .mp-section-head {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
    }

    .mp-section-head > div {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .mp-section-head h2 {
        font-size: 20px !important;
        line-height: 1.25 !important;
        margin: 0 0 4px !important;
        text-align: left !important;
    }

    .mp-section-head p {
        font-size: 12.5px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .mp-count {
        align-self: flex-start !important;
        flex-shrink: 0 !important;
        font-size: 11.5px !important;
        padding: 5px 12px !important;
        border-radius: 999px !important;
    }

    /* Toolbar Filter on Mobile: Clean Full-Width Stack (NO OVAL BALLOON) */
    .rr-toolbar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 12px !important;
        border-radius: 16px !important;
        margin-bottom: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 1. Chips */
    .rr-toolbar .mp-chips {
        order: 1 !important;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .rr-toolbar .mp-chip {
        width: 100% !important;
        margin: 0 !important;
    }

    .rr-toolbar .mp-chip span {
        width: 100% !important;
        height: 38px !important;
        font-size: 12px !important;
        padding: 0 !important;
        justify-content: center !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    /* 2. Search Input: Strict 42px height, 12px rounded corners */
    .rr-toolbar .mp-search {
        order: 2 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        flex: 0 0 42px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        padding: 0 14px !important;
        border-radius: 12px !important;
        background: #FFFDF8 !important;
        border: 1.5px solid rgba(74, 43, 0, 0.12) !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .rr-toolbar .mp-search i {
        font-size: 15px !important;
        color: #D45400 !important;
        flex-shrink: 0 !important;
    }

    .rr-toolbar .mp-search input[type="search"] {
        flex: 1 !important;
        width: 100% !important;
        height: 100% !important;
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #320000 !important;
        font-size: 13px !important;
        outline: none !important;
        box-shadow: none !important;
    }

    /* 3. Sort Dropdown */
    .rr-toolbar .mp-sort {
        order: 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex: 0 0 40px !important;
        width: 100% !important;
        height: 40px !important;
        margin: 0 !important;
        gap: 8px !important;
        box-sizing: border-box !important;
    }

    .rr-toolbar .mp-sort > span {
        font-size: 12px !important;
        color: #7A6652 !important;
        flex-shrink: 0 !important;
    }

    .rr-toolbar .mp-sort select {
        flex: 1 !important;
        height: 40px !important;
        border-radius: 10px !important;
        font-size: 12px !important;
        padding: 0 32px 0 12px !important;
        box-sizing: border-box !important;
    }

    /* Reward Cards: 1 Column on Mobile */
    .mp-reward-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .mp-reward {
        border-radius: 18px !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    .mp-reward-visual {
        position: relative !important;
        width: 100% !important;
        height: 190px !important;
        min-height: 190px !important;
        overflow: hidden !important;
        border-radius: 18px 18px 0 0 !important;
    }

    .mp-reward-cover {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .mp-reward-body {
        padding: 18px 16px !important;
    }

    .mp-reward-body h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        margin: 0 0 6px !important;
    }

    .mp-reward-detail {
        font-size: 12.5px !important;
        line-height: 1.4 !important;
        margin: 4px 0 !important;
    }

    .mp-reward-price {
        margin: 12px 0 !important;
    }

    .mp-reward-price strong {
        font-size: 20px !important;
    }

    .mp-button {
        height: 44px !important;
        font-size: 13.5px !important;
        border-radius: 12px !important;
    }

    /* Option Modal Responsive on Mobile (<= 414px) */
    .mp-dialog.dm-popup-options {
        width: 95vw !important;
        max-width: 95vw !important;
        border-radius: 16px !important;
        margin: auto !important;
    }

    .dm-popup-content {
        padding: 16px 14px !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
    }

    .dm-popup-head {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-right: 38px !important;
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
        width: 100% !important;
    }

    .dm-popup-head-main {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .dm-popup-icon-badge {
        width: 32px !important;
        height: 32px !important;
        font-size: 16px !important;
        border-radius: 8px !important;
        flex-shrink: 0 !important;
    }

    .dm-popup-head-left {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .dm-popup-title {
        font-size: 15px !important;
        line-height: 1.3 !important;
        margin: 0 0 4px 0 !important;
    }

    .dm-popup-desc {
        font-size: 11px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
    }

    .dm-popup-close {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 28px !important;
        height: 28px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        z-index: 10 !important;
    }

    .dm-popup-body-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .dm-col-title {
        font-size: 13px !important;
    }

    .dm-col-desc {
        font-size: 11px !important;
    }

    .dm-popup-options .mp-option {
        padding: 8px 10px !important;
        gap: 8px !important;
        border-radius: 10px !important;
    }

    .dm-popup-options .mp-option-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 15px !important;
    }

    .dm-popup-options .mp-option-body strong {
        font-size: 12px !important;
    }

    .dm-popup-options .mp-option-body small {
        font-size: 10.5px !important;
    }

    .dm-popup-options .mp-option-desc {
        font-size: 10px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .dm-popup-card {
        padding: 12px !important;
        border-radius: 12px !important;
    }

    .dm-card-title {
        font-size: 12.5px !important;
    }

    .dm-summary-row span,
    .dm-summary-row strong {
        font-size: 11.5px !important;
    }

    .dm-terms-list li {
        font-size: 10px !important;
    }

    .dm-popup-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding-top: 12px !important;
        margin-top: 12px !important;
        width: 100% !important;
    }

    .dm-btn-popup {
        width: 100% !important;
        height: 40px !important;
        font-size: 12px !important;
        border-radius: 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 10px !important;
    }
}

/* ---------- Small Mobile (<= 360px) ---------- */
@media (max-width: 360px) {
    .rr-page,
    .mp-page {
        padding-top: 70px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        padding-bottom: 35px !important;
    }

    .mpz-hero {
        padding: 16px 12px !important;
        border-radius: 16px !important;
        gap: 14px !important;
    }

    .mpz-hero-main {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .mpz-eyebrow {
        display: inline-flex !important;
        align-self: flex-start !important;
        font-size: 10.5px !important;
        padding: 3px 10px !important;
        margin-bottom: 2px !important;
    }

    .mpz-balance-label {
        display: block !important;
        align-self: flex-start !important;
        text-align: left !important;
        width: 100% !important;
        font-size: 11.5px !important;
        margin: 10px 0 2px 0 !important;
    }

    .mpz-balance {
        display: flex !important;
        align-items: baseline !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .mpz-balance strong {
        font-size: 32px !important;
        letter-spacing: -0.5px !important;
        line-height: 1.1 !important;
        text-align: left !important;
    }

    .mpz-balance span {
        font-size: 13px !important;
        text-align: left !important;
    }

    .mpz-balance-note {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
        gap: 5px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        margin: 8px 0 14px 0 !important;
        width: 100% !important;
    }

    .mpz-balance-note i {
        margin-top: 2px !important;
        flex-shrink: 0 !important;
    }

    .mpz-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        margin-top: 0 !important;
        width: 100% !important;
    }

    .mpz-btn {
        width: 100% !important;
        height: 38px !important;
        font-size: 11.5px !important;
        padding: 0 8px !important;
        justify-content: center !important;
    }

    .mpz-next {
        padding: 14px 12px !important;
        border-radius: 14px !important;
    }

    .mpz-next strong {
        font-size: 14px !important;
    }

    /* Mini Stats on Small Screen (<=360px): Clean Minimal Counters */
    .mpz-mini {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .mpz-mini > div {
        padding: 8px 4px !important;
        border-radius: 10px !important;
    }

    .mpz-mini dt {
        font-size: 8px !important;
        letter-spacing: 0 !important;
    }

    .mpz-mini dd {
        font-size: 17px !important;
        margin: 2px 0 1px !important;
    }

    .mpz-mini small {
        display: none !important;
    }

    .rr-toolbar .mp-chip span {
        font-size: 11px !important;
        height: 36px !important;
    }

    .mpz-hero-main,
    .mpz-hero-side {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Option Modal Responsive on Small Mobile (<= 360px) */
    .mp-dialog.dm-popup-options {
        width: 96vw !important;
    }

    .dm-popup-content {
        padding: 12px 10px !important;
    }

    .dm-popup-head {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-right: 34px !important;
        padding-bottom: 10px !important;
        margin-bottom: 10px !important;
        width: 100% !important;
    }

    .dm-popup-title {
        font-size: 14px !important;
    }

    .dm-popup-desc {
        font-size: 10px !important;
    }

    .dm-popup-close {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 26px !important;
        height: 26px !important;
        font-size: 12px !important;
        margin: 0 !important;
        z-index: 10 !important;
    }

    .dm-popup-options .mp-option {
        padding: 6px 8px !important;
        gap: 6px !important;
    }

    .dm-popup-options .mp-option-body strong {
        font-size: 11px !important;
    }

    .dm-popup-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        padding-top: 10px !important;
        margin-top: 10px !important;
        width: 100% !important;
    }

    .dm-btn-popup {
        width: 100% !important;
        height: 36px !important;
        font-size: 11.5px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 10px !important;
    }
}

/* ==========================================================================
   Cara Dapat Poin (Reward Earn) - Dokter Mekanik Styling
   Warm Mahogany, Engineering Orange & Golden Amber Theme
    ========================================================================== */

/* ---------- Global Page & Background Fix ---------- */
html,
body {
    background-color: #FDFBF8 !important;
    background: #FDFBF8 !important;
}

.re-page {
    --re-ink: #320000;
    --re-muted: #7D4E30;
    --re-orange: #D45400;
    --re-amber: #FFB402;
    width: 100% !important;
    max-width: 100% !important;
    background-color: #FDFBF8 !important;
    color: #320000 !important;
    padding-top: 105px !important;
    padding-bottom: 70px !important;
    box-sizing: border-box !important;
}

.re-container {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* ---------- Breadcrumb & Navigation Bar ---------- */
.breadcrumb li:after,
.re-crumb-trail *::after,
.re-nav-bar *::after {
    display: none !important;
    content: none !important;
}

.re-nav-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
    flex-wrap: wrap !important;
}

.re-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 18px 8px 14px !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(74, 43, 0, 0.12) !important;
    box-shadow: 0 4px 14px rgba(74, 43, 0, 0.05) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #4D1600 !important;
    text-decoration: none !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.re-back-btn i {
    font-size: 14px !important;
    color: #D45400 !important;
    transition: transform 0.2s ease !important;
}

.re-back-btn:hover {
    background: #FFF4E5 !important;
    border-color: #FFB402 !important;
    color: #D45400 !important;
    box-shadow: 0 6px 18px rgba(212, 84, 0, 0.14) !important;
    text-decoration: none !important;
    transform: translateX(-2px) !important;
}

.re-back-btn:hover i {
    transform: translateX(-3px) !important;
}

.re-crumb-trail {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13.5px !important;
    background: #FFFFFF !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(74, 43, 0, 0.08) !important;
    box-shadow: 0 4px 14px rgba(74, 43, 0, 0.04) !important;
}

.re-crumb-trail a {
    color: #7D4E30 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.18s ease !important;
}

.re-crumb-trail a:hover {
    color: #D45400 !important;
    text-decoration: none !important;
}

.re-crumb-trail .re-sep {
    font-size: 11px !important;
    color: #C0A080 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.re-crumb-trail .re-active {
    color: #320000 !important;
    font-weight: 700 !important;
}

/* ---------- Hero Banner (Dokter Mekanik 2-Column Banner) ---------- */
.re-head {
    position: relative !important;
    overflow: hidden !important;
    margin: 0 0 24px !important;
    padding: 38px 44px !important;
    border-radius: 28px !important;
    background:
        radial-gradient(540px 320px at 100% 0%, rgba(255, 180, 2, .26), transparent 70%),
        radial-gradient(460px 280px at 0% 100%, rgba(212, 84, 0, .32), transparent 70%),
        linear-gradient(135deg, #1A0505 0%, #300C06 42%, #5D1F02 82%, #7B2A00 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 30px 60px -30px rgba(30, 8, 4, .7) !important;
    border: 1px solid rgba(255, 180, 2, 0.22) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.82fr) !important;
    gap: 36px !important;
    align-items: center !important;
}

.re-head::after {
    content: "" !important;
    position: absolute !important;
    right: -80px !important;
    bottom: -155px !important;
    width: 260px !important;
    height: 260px !important;
    border: 1px solid rgba(255, 180, 2, .18) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 24px rgba(255, 180, 2, .04), 0 0 0 48px rgba(255, 180, 2, .03) !important;
    pointer-events: none !important;
}

.re-head-main {
    position: relative !important;
    z-index: 2 !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.re-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
    padding: 6px 16px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .15) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 180, 2, 0.35) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.re-eyebrow i {
    color: #FFB402 !important;
}

.re-head h1 {
    margin: 0 0 10px !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: clamp(28px, 3.4vw, 40px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
    color: #FFFFFF !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    text-align: left !important;
}

.re-lead {
    margin: 0 0 10px !important;
    font-size: 16.5px !important;
    font-weight: 600 !important;
    color: #FFE6CC !important;
    line-height: 1.5 !important;
    text-align: left !important;
    width: 100% !important;
}

.re-text {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-align: left !important;
    width: 100% !important;
}

/* Glassmorphic Summary Card on Right */
.re-head-side {
    position: relative !important;
    z-index: 2 !important;
}

.re-head-card {
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 180, 2, 0.28) !important;
    border-radius: 20px !important;
    padding: 22px 24px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}

.re-head-card-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
}

.re-card-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #FFB402 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.re-card-badge {
    background: rgba(255, 180, 2, 0.2) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 180, 2, 0.4) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
}

.re-head-card-body {
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    background: rgba(0, 0, 0, 0.22) !important;
    border-radius: 14px !important;
    padding: 12px 14px !important;
    margin-bottom: 14px !important;
}

.re-card-stat {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.re-stat-num {
    font-family: 'Outfit', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    line-height: 1.2 !important;
}

.re-stat-lbl {
    font-size: 11.5px !important;
    color: rgba(255, 255, 255, 0.75) !important;
    margin-top: 2px !important;
}

.re-card-divider {
    width: 1px !important;
    height: 30px !important;
    background: rgba(255, 255, 255, 0.15) !important;
}

.re-head-card-footer {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.re-head-card-footer i {
    color: #48BB78 !important;
    font-size: 14px !important;
}

/* ---------- Grid & Cards ---------- */
.re-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
}

.re-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 22px 22px !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(74, 43, 0, 0.08) !important;
    box-shadow: 0 4px 16px rgba(50, 0, 0, 0.04) !important;
    color: inherit !important;
    text-decoration: none !important;
    transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.24s ease, border-color 0.24s ease !important;
    min-height: 215px !important;
}

.re-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(255, 180, 2, 0.6) !important;
    box-shadow: 0 16px 36px -8px rgba(77, 22, 0, 0.12) !important;
    color: inherit !important;
    text-decoration: none !important;
}

.re-card-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.re-glyph {
    display: grid !important;
    place-items: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 15px !important;
    font-size: 24px !important;
    line-height: 1 !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease !important;
    flex-shrink: 0 !important;
}

.re-card:hover .re-glyph {
    transform: translateY(-2px) scale(1.08) rotate(-3deg) !important;
}

/* Tone styles for glyphs */
.re-glyph-orange {
    background: linear-gradient(135deg, #FFF4E5 0%, #FFE0C2 100%) !important;
    color: #D45400 !important;
    border: 1px solid rgba(212, 84, 0, 0.22) !important;
    box-shadow: 0 8px 18px -4px rgba(212, 84, 0, 0.18) !important;
}

.re-glyph-green {
    background: linear-gradient(135deg, #EDFAF1 0%, #D2F2DC 100%) !important;
    color: #12864A !important;
    border: 1px solid rgba(18, 134, 74, 0.22) !important;
    box-shadow: 0 8px 18px -4px rgba(18, 134, 74, 0.18) !important;
}

.re-glyph-amber {
    background: linear-gradient(135deg, #FFF9EB 0%, #FFEDB8 100%) !important;
    color: #B26A00 !important;
    border: 1px solid rgba(255, 180, 2, 0.35) !important;
    box-shadow: 0 8px 18px -4px rgba(255, 180, 2, 0.2) !important;
}

.re-glyph-blue {
    background: linear-gradient(135deg, #EEF4FD 0%, #D8E6FC 100%) !important;
    color: #1E66D5 !important;
    border: 1px solid rgba(30, 102, 213, 0.22) !important;
    box-shadow: 0 8px 18px -4px rgba(30, 102, 213, 0.18) !important;
}

.re-glyph-rose {
    background: linear-gradient(135deg, #FDF0F2 0%, #F9D5DB 100%) !important;
    color: #C72A46 !important;
    border: 1px solid rgba(199, 42, 70, 0.22) !important;
    box-shadow: 0 8px 18px -4px rgba(199, 42, 70, 0.18) !important;
}

.re-glyph-violet {
    background: linear-gradient(135deg, #F6EFFD 0%, #E7D7FA 100%) !important;
    color: #7B3FC4 !important;
    border: 1px solid rgba(123, 63, 196, 0.22) !important;
    box-shadow: 0 8px 18px -4px rgba(123, 63, 196, 0.18) !important;
}

.re-glyph-indigo {
    background: linear-gradient(135deg, #F0F2FC 0%, #D9DEF8 100%) !important;
    color: #3F51B5 !important;
    border: 1px solid rgba(63, 81, 181, 0.22) !important;
    box-shadow: 0 8px 18px -4px rgba(63, 81, 181, 0.18) !important;
}

.re-card-content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.re-title {
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #320000 !important;
    transition: color 0.18s ease !important;
}

.re-card:hover .re-title {
    color: #D45400 !important;
}

.re-desc {
    margin: 0 !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #7D4E30 !important;
}

.re-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
}

.re-pill svg,
.re-pill .mp-coin {
    width: 17px !important;
    height: 17px !important;
    flex-shrink: 0 !important;
}

/* Warm tone badge variations */
.re-pill-blue {
    background: #FFF4E5 !important;
    color: #C44E00 !important;
    border: 1px solid rgba(224, 106, 0, 0.22) !important;
}

.re-pill-green {
    background: #EBF7EE !important;
    color: #167942 !important;
    border: 1px solid rgba(22, 121, 66, 0.22) !important;
}

.re-pill-violet {
    background: #F8EDF8 !important;
    color: #8A266F !important;
    border: 1px solid rgba(138, 38, 111, 0.22) !important;
}

.re-pill-amber {
    background: #FFF8E6 !important;
    color: #B26A00 !important;
    border: 1px solid rgba(255, 180, 2, 0.38) !important;
}

.re-pill-rose {
    background: #FDF0ED !important;
    color: #B8381E !important;
    border: 1px solid rgba(184, 56, 30, 0.22) !important;
}

.re-pill-indigo {
    background: #F5EFEB !important;
    color: #6E381E !important;
    border: 1px solid rgba(110, 56, 30, 0.22) !important;
}

.re-card-footer {
    padding-top: 10px !important;
    border-top: 1px solid rgba(74, 43, 0, 0.05) !important;
    margin-top: auto !important;
}

.re-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #D45400 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.re-link i {
    transition: transform 0.2s ease !important;
}

.re-card:hover .re-link {
    color: #FFB402 !important;
}

.re-card:hover .re-link i {
    transform: translateX(4px) !important;
}

/* ---------- Bottom Promo Panel ---------- */
.re-panel {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    min-height: 190px !important;
    margin-top: 24px !important;
    padding: 34px 38px !important;
    border-radius: 24px !important;
    background:
        radial-gradient(400px 220px at 100% 0%, rgba(255, 180, 2, .24), transparent 70%),
        linear-gradient(135deg, #1A0505 0%, #300C06 50%, #4D1600 100%) !important;
    border: 1px solid rgba(255, 180, 2, 0.22) !important;
    box-shadow: 0 20px 48px -18px rgba(30, 8, 4, 0.55) !important;
    overflow: hidden !important;
}

.re-panel-copy {
    max-width: 58% !important;
    position: relative !important;
    z-index: 2 !important;
}

.re-panel h3 {
    margin: 0 0 8px !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    letter-spacing: -.4px !important;
    color: #FFFFFF !important;
}

.re-panel p {
    margin: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.re-coins {
    position: absolute !important;
    right: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 240px !important;
    max-width: 25% !important;
    height: auto !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.35)) !important;
}

.re-panel-btn {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin-top: 10px !important;
    padding: 13px 32px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #FFB402 0%, #E06A00 100%) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    text-decoration: none !important;
    box-shadow: 0 8px 22px rgba(224, 106, 0, 0.35) !important;
    border: none !important;
    transition: all 0.22s ease !important;
}

.re-panel-btn:hover {
    background: linear-gradient(135deg, #FFC024 0%, #F57C00 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(224, 106, 0, 0.5) !important;
    text-decoration: none !important;
}

.re-panel-btn i {
    transition: transform 0.2s ease !important;
}

.re-panel-btn:hover i {
    transform: translateX(4px) !important;
}

/* ---------- Responsive Breakpoints for Cara Dapat Poin ---------- */

/* /* Tablet (<= 850px) */
@media (max-width: 850px) {
    .re-page {
        padding-top: 92px !important;
        padding-bottom: 55px !important;
    }

    .re-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .re-nav-bar {
        gap: 14px !important;
        margin-bottom: 20px !important;
    }

    .re-back-btn {
        padding: 7px 16px 7px 12px !important;
        font-size: 13px !important;
    }

    .re-crumb-trail {
        padding: 7px 16px !important;
        font-size: 13px !important;
    }

    .re-head {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding: 28px 24px !important;
        border-radius: 22px !important;
        margin-bottom: 20px !important;
        text-align: left !important;
    }

    .re-head-main {
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    .re-head h1 {
        font-size: 28px !important;
        margin-bottom: 8px !important;
        text-align: left !important;
    }

    .re-lead {
        font-size: 15px !important;
        margin-bottom: 8px !important;
        text-align: left !important;
    }

    .re-text {
        font-size: 13.5px !important;
        text-align: left !important;
    }

    .re-head-card {
        padding: 18px 20px !important;
        border-radius: 18px !important;
    }

    .re-head-card-top {
        margin-bottom: 12px !important;
    }

    .re-stat-num {
        font-size: 18px !important;
    }

    .re-stat-lbl {
        font-size: 11.5px !important;
    }

    .mp-disclaimer {
        display: flex !important;
        align-items: flex-start !important;
        text-align: left !important;
        padding: 14px 18px !important;
        border-radius: 14px !important;
        margin-bottom: 20px !important;
    }

    .mp-disclaimer p {
        text-align: left !important;
        margin: 0 !important;
    }

    .re-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        margin-bottom: 22px !important;
    }

    .re-card {
        padding: 18px 18px !important;
        border-radius: 18px !important;
        min-height: 200px !important;
        gap: 14px !important;
    }

    .re-glyph {
        width: 48px !important;
        height: 48px !important;
        font-size: 22px !important;
        border-radius: 13px !important;
    }

    .re-pill {
        padding: 5px 11px !important;
        font-size: 12px !important;
    }

    .re-title {
        font-size: 15.5px !important;
    }

    .re-desc {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .re-link {
        font-size: 13px !important;
    }

    .re-panel {
        padding: 28px 26px !important;
        min-height: auto !important;
        border-radius: 20px !important;
        margin-top: 20px !important;
    }

    .re-panel-copy {
        max-width: 65% !important;
    }

    .re-panel h3 {
        font-size: 20px !important;
    }

    .re-panel p {
        font-size: 13.5px !important;
    }

    .re-coins {
        width: 170px !important;
        max-width: 28% !important;
        right: 20px !important;
    }

    .re-panel-btn {
        padding: 12px 28px !important;
        font-size: 14px !important;
    }
}

/* Mobile (<= 576px) */
@media (max-width: 576px) {
    .re-head {
        text-align: left !important;
    }

    .re-head-main {
        text-align: left !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    .re-head h1,
    .re-lead,
    .re-text {
        text-align: left !important;
        width: 100% !important;
    }

    .mp-disclaimer {
        display: flex !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    .mp-disclaimer p {
        text-align: left !important;
        margin: 0 !important;
        flex: 1 1 auto !important;
    }

    .re-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* Mobile (<= 414px) */
@media (max-width: 414px) {
    .re-page {
        padding-top: 76px !important;
        padding-bottom: 45px !important;
    }

    .re-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .re-nav-bar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin-bottom: 16px !important;
    }

    .re-back-btn {
        align-self: flex-start !important;
        padding: 6px 14px 6px 11px !important;
        font-size: 12.5px !important;
    }

    .re-crumb-trail {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 7px 14px !important;
        font-size: 12px !important;
        gap: 8px !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        justify-content: flex-start !important;
    }

    .re-head {
        grid-template-columns: 1fr !important;
        padding: 22px 18px !important;
        border-radius: 20px !important;
        gap: 18px !important;
        margin-bottom: 16px !important;
        text-align: left !important;
    }

    .re-head-main {
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    .re-eyebrow {
        font-size: 11px !important;
        padding: 4px 12px !important;
        margin-bottom: 10px !important;
        align-self: flex-start !important;
    }

    .re-head h1 {
        font-size: 22px !important;
        letter-spacing: -0.3px !important;
        margin-bottom: 6px !important;
        text-align: left !important;
        width: 100% !important;
    }

    .re-lead {
        font-size: 13.5px !important;
        line-height: 1.45 !important;
        margin-bottom: 6px !important;
        text-align: left !important;
        width: 100% !important;
    }

    .re-text {
        font-size: 12.5px !important;
        line-height: 1.6 !important;
        text-align: left !important;
        width: 100% !important;
    }

    .re-head-card {
        padding: 16px 16px !important;
        border-radius: 16px !important;
    }

    .re-head-card-top {
        margin-bottom: 10px !important;
    }

    .re-card-tag {
        font-size: 11px !important;
    }

    .re-card-badge {
        font-size: 10.5px !important;
        padding: 2px 8px !important;
    }

    .re-head-card-body {
        padding: 10px 12px !important;
        margin-bottom: 10px !important;
        border-radius: 12px !important;
    }

    .re-stat-num {
        font-size: 16px !important;
    }

    .re-stat-lbl {
        font-size: 11px !important;
    }

    .re-head-card-footer {
        font-size: 11.5px !important;
        gap: 6px !important;
    }

    .mp-disclaimer {
        display: flex !important;
        align-items: flex-start !important;
        text-align: left !important;
        padding: 13px 15px !important;
        border-radius: 13px !important;
        margin-bottom: 16px !important;
        gap: 10px !important;
    }

    .mp-disclaimer i {
        flex-shrink: 0 !important;
        margin-top: 2px !important;
    }

    .mp-disclaimer p {
        text-align: left !important;
        margin: 0 !important;
        flex: 1 1 auto !important;
    }

    .re-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
    }

    .re-card {
        padding: 16px 16px !important;
        border-radius: 16px !important;
        min-height: auto !important;
        gap: 12px !important;
    }

    .re-glyph {
        width: 44px !important;
        height: 44px !important;
        font-size: 20px !important;
        border-radius: 12px !important;
    }

    .re-pill {
        padding: 4px 10px !important;
        font-size: 11.5px !important;
        gap: 5px !important;
        border-radius: 8px !important;
    }

    .re-pill svg,
    .re-pill .mp-coin {
        width: 15px !important;
        height: 15px !important;
    }

    .re-title {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    .re-desc {
        font-size: 12.5px !important;
        line-height: 1.5 !important;
    }

    .re-card-footer {
        padding-top: 8px !important;
    }

    .re-link {
        font-size: 12.5px !important;
    }

    .re-panel {
        padding: 22px 18px !important;
        border-radius: 18px !important;
        min-height: auto !important;
        margin-top: 16px !important;
        gap: 14px !important;
    }

    .re-panel-copy {
        max-width: 100% !important;
    }

    .re-panel h3 {
        font-size: 18px !important;
        margin-bottom: 6px !important;
    }

    .re-panel p {
        font-size: 12.5px !important;
        line-height: 1.6 !important;
    }

    .re-coins {
        display: none !important;
    }

    .re-panel-btn {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 13.5px !important;
        border-radius: 12px !important;
        justify-content: center !important;
        margin-top: 4px !important;
    }
}

/* Small Mobile (<= 360px) */
@media (max-width: 360px) {
    .re-page {
        padding-top: 70px !important;
        padding-bottom: 35px !important;
    }

    .re-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .re-nav-bar {
        gap: 8px !important;
        margin-bottom: 14px !important;
    }

    .re-back-btn {
        padding: 5px 12px 5px 9px !important;
        font-size: 11.5px !important;
        gap: 5px !important;
    }

    .re-crumb-trail {
        padding: 6px 10px !important;
        font-size: 11px !important;
        gap: 6px !important;
    }

    .re-head {
        padding: 18px 14px !important;
        border-radius: 16px !important;
        gap: 14px !important;
        margin-bottom: 14px !important;
        text-align: left !important;
    }

    .re-head-main {
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    .re-eyebrow {
        font-size: 10px !important;
        padding: 3px 10px !important;
        margin-bottom: 8px !important;
    }

    .re-head h1 {
        font-size: 19px !important;
        text-align: left !important;
    }

    .re-lead {
        font-size: 12.5px !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }

    .re-text {
        font-size: 11.8px !important;
        line-height: 1.55 !important;
        text-align: left !important;
    }

    .re-head-card {
        padding: 12px 12px !important;
        border-radius: 14px !important;
    }

    .re-card-tag {
        font-size: 10px !important;
    }

    .re-card-badge {
        font-size: 9.5px !important;
        padding: 2px 6px !important;
    }

    .re-head-card-body {
        padding: 8px 10px !important;
    }

    .re-stat-num {
        font-size: 14px !important;
    }

    .re-stat-lbl {
        font-size: 9.5px !important;
    }

    .re-head-card-footer {
        font-size: 10.5px !important;
    }

    .mp-disclaimer {
        padding: 11px 13px !important;
        font-size: 11px !important;
        border-radius: 11px !important;
        margin-bottom: 14px !important;
        gap: 8px !important;
        text-align: left !important;
    }

    .mp-disclaimer p {
        text-align: left !important;
    }

    .re-card {
        padding: 14px 12px !important;
        gap: 10px !important;
        border-radius: 14px !important;
    }

    .re-glyph {
        width: 38px !important;
        height: 38px !important;
        font-size: 18px !important;
        border-radius: 10px !important;
    }

    .re-pill {
        padding: 3px 8px !important;
        font-size: 11px !important;
        gap: 4px !important;
    }

    .re-pill svg,
    .re-pill .mp-coin {
        width: 14px !important;
        height: 14px !important;
    }

    .re-title {
        font-size: 14px !important;
    }

    .re-desc {
        font-size: 11.8px !important;
    }

    .re-link {
        font-size: 12px !important;
    }

    .re-panel {
        padding: 18px 14px !important;
        border-radius: 16px !important;
        margin-top: 14px !important;
        gap: 12px !important;
    }

    .re-panel h3 {
        font-size: 16.5px !important;
    }

    .re-panel p {
        font-size: 11.8px !important;
    }

    .re-panel-btn {
        padding: 11px 16px !important;
        font-size: 13px !important;
    }
}

/* ==========================================================================
   Dokter Mekanik Rewards - Challenge Page Custom Theme (.chx-*)
   Warna Khas Dokter Mekanik: Putih, Warm Ivory, Engineering Orange, Golden Amber
   ========================================================================== */

/* ---------- Container & Layout ---------- */
.chx-page {
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ---------- Breadcrumbs & Nav Bar ---------- */
.chx-page .re-nav-bar {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-bottom: 24px !important;
}

.chx-page .re-crumb-trail .re-active {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 14px !important;
    border-radius: 999px !important;
    background: #FFF3E8 !important;
    color: #D45400 !important;
    border: 1px solid #FFD8BF !important;
    font-weight: 700 !important;
}

/* ---------- Hero Banner (Warm White & Orange Lighting) ---------- */
.lbx-hero.chx-hero {
    position: relative !important;
    min-height: 220px !important;
    margin-bottom: 24px !important;
    padding: 38px 44px !important;
    border-radius: 26px !important;
    background: 
        radial-gradient(420px 240px at 0% 100%, rgba(212, 84, 0, 0.12), transparent 70%),
        radial-gradient(400px 240px at 65% 0%, rgba(255, 180, 2, 0.16), transparent 70%),
        linear-gradient(135deg, #FFFFFF 0%, #FFF9F4 50%, #FFEEDD 100%) !important;
    border: 1px solid rgba(212, 84, 0, 0.2) !important;
    box-shadow: 0 16px 36px -18px rgba(212, 84, 0, 0.14) !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
}

.lbx-hero.chx-hero::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 520px !important;
    max-width: 50% !important;
    aspect-ratio: 16 / 9 !important;
    background: url('../images/challenge/hero_dm.jpg') right center / contain no-repeat !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.85) 18%, #000 38%) !important;
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.85) 18%, #000 38%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.chx-hero .lbx-hero-text {
    position: relative !important;
    z-index: 2 !important;
    max-width: 580px !important;
}

.chx-hero h1 {
    margin: 0 0 10px !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    letter-spacing: -0.6px !important;
    color: #200500 !important;
    line-height: 1.15 !important;
}

.chx-hero p {
    margin: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    color: #6E5346 !important;
    font-weight: 500 !important;
}

/* ---------- Intro Card ("Ikuti Challenge dan Raih Reward") ---------- */
.chx-page .lbx-card.chx-intro {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
    padding: 24px 28px !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(212, 84, 0, 0.14) !important;
    box-shadow: 0 10px 30px -12px rgba(50, 15, 0, 0.06) !important;
}

.chx-intro-icon {
    display: grid !important;
    flex: 0 0 auto !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    background: #FFF3E8 !important;
    color: #D45400 !important;
    border: 1px solid #FFD8BF !important;
    font-size: 24px !important;
    box-shadow: 0 4px 12px rgba(212, 84, 0, 0.1) !important;
}

.chx-intro-body h2 {
    margin: 0 0 6px !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #200500 !important;
}

.chx-intro-body p {
    margin: 0 0 10px !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    color: #6E5346 !important;
}

.chx-intro-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    color: #D45400 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.chx-intro-link:hover {
    color: #FF6B00 !important;
    transform: translateX(3px) !important;
}

/* ---------- Toolbar Filter & Search ---------- */
.chx-toolbar {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    margin-bottom: 28px !important;
    width: 100% !important;
}

.chx-filters {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
}

.bdx-filter {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.bdx-chip {
    padding: 9px 20px !important;
    border-radius: 999px !important;
    border: 1.5px solid rgba(212, 84, 0, 0.16) !important;
    background: #FFFFFF !important;
    color: #4D1600 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    box-shadow: 0 2px 6px rgba(74, 43, 0, 0.03) !important;
}

.bdx-chip:hover {
    border-color: #D45400 !important;
    color: #D45400 !important;
    background: #FFF8F2 !important;
    transform: translateY(-1px) !important;
}

.bdx-chip.is-active {
    background: linear-gradient(135deg, #FF6B00 0%, #D45400 100%) !important;
    border-color: #D45400 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.28) !important;
}

.chx-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    gap: 16px !important;
    box-sizing: border-box !important;
}

.chx-search,
.chx-page .chx-search,
.chx-tools .chx-search,
label.chx-search {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 1 360px !important;
    max-width: 460px !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1.5px solid rgba(212, 84, 0, 0.25) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    box-shadow: 0 2px 10px rgba(74, 43, 0, 0.04) !important;
    box-sizing: border-box !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.chx-search:focus-within,
.chx-page .chx-search:focus-within,
.chx-tools .chx-search:focus-within,
label.chx-search:focus-within {
    border-color: #D45400 !important;
    box-shadow: 0 0 0 3px rgba(212, 84, 0, 0.16), 0 2px 10px rgba(74, 43, 0, 0.04) !important;
}

.chx-search i,
.chx-page .chx-search i,
.chx-tools .chx-search i,
label.chx-search i {
    position: static !important;
    transform: none !important;
    color: #D45400 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

.chx-search input,
.chx-page .chx-search input,
.chx-tools .chx-search input,
label.chx-search input,
input#chx-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #200500 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.chx-search input::placeholder {
    color: #8C7B75 !important;
    font-weight: 400 !important;
}

.chx-sort {
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

.chx-sort .chx-sort-label {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #4D1600 !important;
}

.chx-sort select {
    height: 46px !important;
    padding: 0 38px 0 18px !important;
    border-radius: 999px !important;
    border: 1.5px solid rgba(212, 84, 0, 0.22) !important;
    background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23D45400' d='M8 11.5l-5-5h10l-5 5z'/%3E%3C/svg%3E") no-repeat right 16px center / 11px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #200500 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: 0 2px 10px rgba(74, 43, 0, 0.04) !important;
    transition: all .2s ease !important;
}

.chx-sort select:focus {
    border-color: #D45400 !important;
    box-shadow: 0 0 0 3px rgba(212, 84, 0, 0.16) !important;
}

.chx-sort select:focus {
    border-color: #D45400 !important;
    box-shadow: 0 0 0 3px rgba(212, 84, 0, 0.16) !important;
}

/* ---------- Grid Challenge ---------- */
.chx-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
    gap: 24px !important;
    margin-bottom: 36px !important;
}

/* ---------- Kartu Challenge (.chx-card) ---------- */
.chx-card {
    display: flex !important;
    flex-direction: column !important;
    background: #FFFFFF !important;
    border-radius: 22px !important;
    border: 1px solid rgba(212, 84, 0, 0.14) !important;
    box-shadow: 0 8px 24px -10px rgba(50, 15, 0, 0.06) !important;
    padding: 24px !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

.chx-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 18px 38px -10px rgba(212, 84, 0, 0.18) !important;
    border-color: rgba(212, 84, 0, 0.38) !important;
}

.chx-card-head {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-bottom: 12px !important;
}

/* Palette Badge Khas Dokter Mekanik */
.chx-tag {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
}

.chx-tag.is-tone-1 { background: #FFF1E6 !important; color: #D45400 !important; border: 1px solid #FFD8BF !important; }
.chx-tag.is-tone-2 { background: #FEF3C7 !important; color: #B45309 !important; border: 1px solid #FDE68A !important; }
.chx-tag.is-tone-3 { background: #FFE8D6 !important; color: #C2410C !important; border: 1px solid #FDBA74 !important; }
.chx-tag.is-tone-4 { background: #FFFBEB !important; color: #92400E !important; border: 1px solid #FCD34D !important; }
.chx-tag.is-tone-5 { background: #FDF2F0 !important; color: #B91C1C !important; border: 1px solid #FECDD3 !important; }
.chx-tag.is-tone-6 { background: #F8F1EC !important; color: #7B2A00 !important; border: 1px solid #E6D2C4 !important; }

/* Header Hero Kartu: Art Thumbnail & Judul Sejajar */
.chx-card-hero {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}

.chx-art {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 68px !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.18) !important;
    overflow: hidden !important;
    position: relative !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.08) !important;
}

.chx-art img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .25s ease !important;
}

.chx-card:hover .chx-art img {
    transform: scale(1.08) !important;
}

.chx-art i {
    font-size: 26px !important;
    color: #D45400 !important;
    display: none !important;
}

.chx-art.is-empty i {
    display: block !important;
}

.chx-card-hero-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.chx-card-hero-text h3 {
    margin: 0 !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 17.5px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.chx-card-hero-text h3 a {
    color: #200500 !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}

.chx-card-hero-text h3 a:hover {
    color: #D45400 !important;
}

/* Deskripsi Full-Width */
.chx-desc {
    margin: 0 0 16px 0 !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #6E5346 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Box Persyaratan Challenge Full-Width */
.chx-reqbox {
    background: #FFFDF9 !important;
    border: 1px solid rgba(212, 84, 0, 0.1) !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    margin-bottom: 20px !important;
}

.chx-sub {
    margin: 0 0 10px 0 !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    color: #8C644E !important;
}

.chx-reqs {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    gap: 8px !important;
}

.chx-reqs li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #3A2215 !important;
}

.chx-reqs li i {
    margin-top: 2px !important;
    color: #D45400 !important;
    font-size: 13px !important;
    flex: 0 0 auto !important;
}

/* Footer Kartu */
.chx-card-foot {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(74, 43, 0, 0.08) !important;
    margin-top: auto !important;
}

.chx-reward {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 6px 14px !important;
    border-radius: 12px !important;
    background: #FFF8EB !important;
    border: 1px solid rgba(245, 166, 35, 0.35) !important;
}

.chx-reward span {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .4px !important;
    color: #92620A !important;
}

.chx-reward strong {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #B45309 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.chx-reward strong i {
    color: #F59E0B !important;
    font-size: 13px !important;
}

.chx-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 11px 20px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #FF6B00 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px -2px rgba(212, 84, 0, 0.38) !important;
    transition: all .2s ease !important;
    cursor: pointer !important;
}

.chx-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px -3px rgba(212, 84, 0, 0.48) !important;
    background: linear-gradient(135deg, #FF7A1A 0%, #E65A00 100%) !important;
    color: #FFFFFF !important;
}

.chx-btn.is-ghost,
.chx-btn[aria-disabled="true"],
span.chx-btn.is-ghost {
    background: #FFF4EB !important;
    color: #D45400 !important;
    border: 1.5px solid rgba(212, 84, 0, 0.28) !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    cursor: default !important;
    pointer-events: none !important;
    transform: none !important;
}

.chx-btn.is-ghost:hover,
.chx-btn[aria-disabled="true"]:hover,
span.chx-btn.is-ghost:hover {
    background: #FFF4EB !important;
    color: #D45400 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ---------- Cara Kerja Challenge (.chx-how) ---------- */
.chx-page .lbx-card.chx-how {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 26px 30px !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(212, 84, 0, 0.14) !important;
    box-shadow: 0 10px 30px -12px rgba(50, 15, 0, 0.06) !important;
    margin-top: 20px !important;
}

.chx-how h2 {
    margin: 0 0 10px !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #200500 !important;
}

.chx-how ol {
    margin: 0 !important;
    padding-left: 20px !important;
    display: grid !important;
    gap: 8px !important;
}

.chx-how li {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #6E5346 !important;
}

/* ---------- Modal Dialog (.chx-dialog) ---------- */
.chx-dialog {
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    border-radius: 24px !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    box-shadow: 0 25px 50px -12px rgba(35, 10, 5, 0.3) !important;
    max-width: 540px !important;
    width: 90% !important;
}

.chx-dialog::backdrop {
    background: rgba(20, 5, 5, 0.5) !important;
    backdrop-filter: blur(6px) !important;
}

.chx-terms {
    padding: 28px !important;
}

.chx-terms-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 18px !important;
}

.chx-terms-head h2 {
    margin: 0 !important;
    font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #200500 !important;
}

.chx-terms-close {
    background: none !important;
    border: none !important;
    color: #8A6D5E !important;
    font-size: 18px !important;
    cursor: pointer !important;
    padding: 6px !important;
    border-radius: 50% !important;
    transition: all .2s ease !important;
}

.chx-terms-close:hover {
    color: #D45400 !important;
    background: #FFF4E8 !important;
}

.chx-terms-body {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #55443B !important;
    max-height: 380px !important;
    overflow-y: auto !important;
    padding-right: 8px !important;
}

.chx-terms-body ol {
    padding-left: 20px !important;
    margin-bottom: 14px !important;
}

.chx-terms-body li {
    margin-bottom: 8px !important;
}

.chx-terms-foot {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 20px !important;
}

.chx-dialog-body {
    padding: 32px 28px !important;
    text-align: center !important;
}

.chx-dialog-icon {
    display: inline-grid !important;
    place-items: center !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 18px !important;
    background: #FFF4E8 !important;
    color: #D45400 !important;
    font-size: 26px !important;
    margin-bottom: 14px !important;
}

.chx-dialog-actions {
    display: flex !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

.chx-dialog-actions .chx-btn {
    flex: 1 1 0 !important;
}

/* ---------- Responsive Adjustments (<= 850px, <= 414px, <= 360px) ---------- */

/* ==========================================================================
   CHALLENGE RESPONSIVE RULES (<= 850px, <= 414px, <= 360px)
   ========================================================================== */

/* ---------- Tablet & Medium Screen (<= 850px) ---------- */
@media (max-width: 850px) {
    .chx-page {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 90px !important;
        padding-bottom: 50px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* Nav Bar / Breadcrumbs */
    .chx-page .re-nav-bar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }

    .chx-page .re-crumb-trail {
        font-size: 13px !important;
        padding: 8px 16px !important;
    }

    /* Hero Banner Tablet */
    .lbx-hero.chx-hero {
        min-height: 180px !important;
        padding: 28px 24px !important;
        border-radius: 22px !important;
        margin-bottom: 20px !important;
    }

    .lbx-hero.chx-hero::before {
        width: 280px !important;
        max-width: 42% !important;
        opacity: 0.75 !important;
    }

    .chx-hero h1 {
        font-size: 28px !important;
        margin-bottom: 6px !important;
    }

    .chx-hero p {
        font-size: 14px !important;
        max-width: 400px !important;
        line-height: 1.5 !important;
    }

    /* Info Card Tablet */
    .chx-page .lbx-card.chx-intro {
        padding: 20px 22px !important;
        gap: 16px !important;
        border-radius: 18px !important;
        margin-bottom: 20px !important;
    }

    .chx-intro-icon {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        font-size: 22px !important;
    }

    .chx-intro-body h2 {
        font-size: 17.5px !important;
    }

    .chx-intro-body p {
        font-size: 13.5px !important;
    }

    /* Toolbar Tablet */
    .chx-toolbar {
        gap: 14px !important;
        margin-bottom: 22px !important;
    }

    .chx-filters,
    .bdx-filter {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 4px !important;
        width: 100% !important;
        gap: 10px !important;
    }

    .bdx-chip {
        flex-shrink: 0 !important;
        font-size: 13px !important;
        padding: 8px 18px !important;
    }

    .chx-tools {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 14px !important;
    }

    .chx-search,
    .chx-page .chx-search,
    .chx-tools .chx-search,
    label.chx-search {
        flex: 1 1 260px !important;
        max-width: 380px !important;
        height: 44px !important;
    }

    .chx-sort {
        margin-left: auto !important;
    }

    .chx-sort select {
        height: 44px !important;
        font-size: 13px !important;
    }

    /* Challenge Cards Grid: 2 columns on tablet */
    .chx-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
        margin-bottom: 24px !important;
    }

    .chx-card {
        padding: 20px 18px !important;
        border-radius: 18px !important;
    }

    .chx-how {
        padding: 22px 20px !important;
        border-radius: 18px !important;
    }

    /* Dialogs Tablet */
    .chx-dialog {
        width: 90% !important;
        max-width: 520px !important;
        border-radius: 20px !important;
    }

    .chx-terms {
        padding: 22px !important;
    }

    .chx-dialog-body {
        padding: 26px 22px !important;
    }
}

/* ---------- Mobile Standard / Large Phones (<= 414px) ---------- */
@media (max-width: 414px) {
    .chx-page {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-top: 75px !important;
        padding-bottom: 40px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* Nav Bar / Breadcrumbs Stack */
    .chx-page .re-nav-bar {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        margin-bottom: 16px !important;
        width: 100% !important;
    }

    .chx-page .re-back-btn {
        padding: 6px 14px 6px 10px !important;
        font-size: 12px !important;
        border-radius: 999px !important;
    }

    .chx-page .re-crumb-trail {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 6px 12px !important;
        font-size: 11.5px !important;
        gap: 6px !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Hero Banner Mobile */
    .lbx-hero.chx-hero {
        min-height: auto !important;
        padding: 20px 16px !important;
        border-radius: 18px !important;
        margin-bottom: 16px !important;
        background: linear-gradient(135deg, #FFFFFF 0%, #FFF9F4 60%, #FFEEDD 100%) !important;
    }

    .lbx-hero.chx-hero::before {
        width: 140px !important;
        max-width: 36% !important;
        opacity: 0.18 !important;
        right: -6px !important;
    }

    .chx-hero .lbx-hero-text {
        max-width: 100% !important;
        z-index: 2 !important;
    }

    .chx-hero h1 {
        font-size: 24px !important;
        margin-bottom: 6px !important;
        line-height: 1.15 !important;
    }

    .chx-hero p {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    /* Info Card Mobile */
    .chx-page .lbx-card.chx-intro {
        padding: 16px 14px !important;
        gap: 12px !important;
        border-radius: 16px !important;
        margin-bottom: 16px !important;
    }

    .chx-intro-icon {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border-radius: 11px !important;
        font-size: 18px !important;
    }

    .chx-intro-body h2 {
        font-size: 15px !important;
        margin-bottom: 4px !important;
        line-height: 1.3 !important;
    }

    .chx-intro-body p {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
        margin-bottom: 8px !important;
    }

    .chx-intro-link {
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    /* Chip Kategori: Horizontal Carousel */
    .chx-filters,
    .bdx-filter {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-bottom: 4px !important;
        width: 100% !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .chx-filters::-webkit-scrollbar,
    .bdx-filter::-webkit-scrollbar {
        display: none !important;
    }

    .bdx-chip {
        flex-shrink: 0 !important;
        padding: 7px 15px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    /* Search & Sort Full-Width */
    .chx-tools {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .chx-search,
    .chx-page .chx-search,
    .chx-tools .chx-search,
    label.chx-search {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        height: 42px !important;
        padding: 0 14px !important;
        gap: 10px !important;
        box-sizing: border-box !important;
    }

    .chx-search input,
    .chx-page .chx-search input,
    .chx-tools .chx-search input,
    label.chx-search input,
    input#chx-search {
        height: 100% !important;
        font-size: 12.5px !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    .chx-search i,
    .chx-page .chx-search i,
    .chx-tools .chx-search i,
    label.chx-search i {
        font-size: 14px !important;
    }

    .chx-sort {
        margin-left: 0 !important;
        width: 100% !important;
        justify-content: space-between !important;
    }

    .chx-sort .chx-sort-label {
        font-size: 12px !important;
    }

    .chx-sort select {
        height: 42px !important;
        font-size: 12px !important;
        flex: 1 !important;
    }

    /* 1 Kolom Penuh untuk Grid Kartu Challenge */
    .chx-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        margin-bottom: 20px !important;
    }

    .chx-card {
        padding: 16px 14px !important;
        border-radius: 16px !important;
    }

    .chx-card-hero {
        gap: 12px !important;
        margin-bottom: 10px !important;
    }

    .chx-art {
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 14px !important;
    }

    .chx-card-hero-text h3 {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    .chx-desc {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin-bottom: 10px !important;
    }

    .chx-reqbox {
        padding: 10px 12px !important;
        border-radius: 12px !important;
        margin-bottom: 12px !important;
    }

    .chx-sub {
        font-size: 10.5px !important;
        margin-bottom: 4px !important;
    }

    .chx-reqs li {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        gap: 6px !important;
    }

    .chx-card-foot {
        padding-top: 12px !important;
        gap: 8px !important;
    }

    .chx-card-foot .d-flex[style*="background: #FFF8EB"],
    .chx-card-foot > div:first-child {
        padding: 7px 12px !important;
    }

    .chx-card-foot .d-flex[style*="background: #FFF8EB"] span,
    .chx-card-foot > div:first-child span {
        font-size: 11px !important;
    }

    .chx-card-foot .d-flex[style*="background: #FFF8EB"] strong,
    .chx-card-foot > div:first-child strong {
        font-size: 13.5px !important;
    }

    .chx-btn {
        height: 40px !important;
        padding: 0 14px !important;
        font-size: 12.5px !important;
        border-radius: 10px !important;
    }

    /* Cara Kerja */
    .chx-page .lbx-card.chx-how {
        padding: 16px 14px !important;
        border-radius: 16px !important;
        gap: 10px !important;
    }

    .chx-page .lbx-card.chx-how h2 {
        font-size: 15px !important;
    }

    .chx-page .lbx-card.chx-how ol li {
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    /* Dialogs Mobile */
    .chx-dialog {
        width: 95vw !important;
        max-width: 95vw !important;
        border-radius: 16px !important;
        margin: auto !important;
    }

    .chx-terms {
        padding: 18px 14px !important;
    }

    .chx-terms-head h2 {
        font-size: 16px !important;
    }

    .chx-terms-body ol li {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
    }

    .chx-dialog-body {
        padding: 22px 16px !important;
    }

    .chx-dialog-icon {
        width: 46px !important;
        height: 46px !important;
        font-size: 20px !important;
        margin-bottom: 10px !important;
    }

    h2#chx-dialog-title {
        font-size: 16px !important;
    }

    .chx-dialog-reward {
        font-size: 13px !important;
    }

    .chx-dialog-actions .chx-btn {
        height: 40px !important;
        font-size: 12.5px !important;
    }
}

/* ---------- Extra Small Phones (<= 360px) ---------- */
@media (max-width: 360px) {
    .chx-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 70px !important;
        padding-bottom: 35px !important;
    }

    .chx-page .re-crumb-trail {
        padding: 5px 8px !important;
        font-size: 11px !important;
    }

    .lbx-hero.chx-hero {
        padding: 16px 12px !important;
        border-radius: 16px !important;
        margin-bottom: 14px !important;
    }

    .lbx-hero.chx-hero::before {
        display: none !important;
    }

    .chx-hero h1 {
        font-size: 20px !important;
        margin-bottom: 4px !important;
    }

    .chx-hero p {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
    }

    .chx-page .lbx-card.chx-intro {
        padding: 14px 10px !important;
        gap: 8px !important;
        border-radius: 14px !important;
        margin-bottom: 14px !important;
    }

    .chx-intro-icon {
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
        border-radius: 8px !important;
        font-size: 16px !important;
    }

    .chx-intro-body h2 {
        font-size: 14px !important;
    }

    .chx-intro-body p {
        font-size: 11.5px !important;
    }

    .chx-intro-link {
        font-size: 11.5px !important;
    }

    .bdx-chip {
        padding: 6px 12px !important;
        font-size: 11px !important;
    }

    .chx-search,
    .chx-page .chx-search,
    .chx-tools .chx-search,
    label.chx-search {
        height: 38px !important;
        padding: 0 12px !important;
    }

    .chx-search input,
    input#chx-search {
        font-size: 12px !important;
    }

    .chx-sort select {
        height: 38px !important;
        font-size: 11.5px !important;
    }

    .chx-card {
        padding: 14px 10px !important;
        border-radius: 14px !important;
    }

    .chx-card-hero {
        gap: 10px !important;
    }

    .chx-art {
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
        border-radius: 12px !important;
    }

    .chx-card-hero-text h3 {
        font-size: 13.5px !important;
    }

    .chx-desc {
        font-size: 11px !important;
    }

    .chx-reqbox {
        padding: 8px 10px !important;
        border-radius: 10px !important;
    }

    .chx-card-foot {
        gap: 6px !important;
    }

    .chx-card-foot .d-flex[style*="background: #FFF8EB"],
    .chx-card-foot > div:first-child {
        padding: 6px 8px !important;
    }

    .chx-card-foot .d-flex[style*="background: #FFF8EB"] span,
    .chx-card-foot > div:first-child span {
        font-size: 10px !important;
    }

    .chx-card-foot .d-flex[style*="background: #FFF8EB"] strong,
    .chx-card-foot > div:first-child strong {
        font-size: 12px !important;
    }

    .chx-btn {
        height: 36px !important;
        font-size: 11.5px !important;
    }

    .chx-dialog {
        width: 96vw !important;
    }

    .chx-terms {
        padding: 14px 10px !important;
    }

    .chx-dialog-body {
        padding: 18px 12px !important;
    }

    .chx-dialog-actions {
        flex-direction: column !important;
        gap: 6px !important;
    }

    .chx-dialog-actions .chx-btn {
        height: 36px !important;
        font-size: 11.5px !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   HALAMAN LEADERBOARD DOKTER MEKANIK (.lbx-*)
   Tema: White, Warm Ivory, Engineering Orange, Golden Amber, Deep Mahogany
   ========================================================================== */

/* Main Container Leaderboard */
.lbx-page {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 110px 24px 80px !important;
    box-sizing: border-box !important;
    color: #200500 !important;
}

/* Hero Banner Leaderboard dengan Trophy 3D */
.lbx-hero {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 200px !important;
    padding: 38px 46px !important;
    border-radius: 26px !important;
    background: linear-gradient(135deg, #FFFFFF 0%, #FFF8F2 50%, #FFEDE0 100%) !important;
    border: 1.5px solid rgba(212, 84, 0, 0.2) !important;
    box-shadow: 0 16px 44px -12px rgba(74, 30, 0, 0.08) !important;
    margin-bottom: 28px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.lbx-hero::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 32px !important;
    transform: translateY(-50%) !important;
    width: 260px !important;
    height: 94% !important;
    background: url('../images/leaderboard/hero_dm.jpg') no-repeat center right !important;
    background-size: contain !important;
    pointer-events: none !important;
    opacity: 0.95 !important;
    z-index: 1 !important;
    filter: drop-shadow(0 12px 28px rgba(212, 84, 0, 0.22)) !important;
}

.lbx-hero-text {
    position: relative !important;
    z-index: 2 !important;
    max-width: 620px !important;
}

.lbx-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #FFF0E4 !important;
    color: #D45400 !important;
    border: 1px solid rgba(212, 84, 0, 0.25) !important;
    padding: 5px 14px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin-bottom: 12px !important;
}

.lbx-hero h1 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    letter-spacing: -0.5px !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
}

.lbx-hero p {
    font-size: 15px !important;
    color: #5C3A21 !important;
    line-height: 1.55 !important;
    margin: 0 0 18px !important;
    font-weight: 500 !important;
}

.lbx-terms-link {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 22px !important;
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.3) !important;
    border-radius: 999px !important;
    color: #D45400 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(74, 30, 0, 0.06) !important;
    transition: all .2s ease !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}

.lbx-terms-link:hover {
    background: #D45400 !important;
    border-color: #D45400 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(212, 84, 0, 0.32) !important;
}

/* Card Base (.lbx-card) */
.lbx-card {
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.16) !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 32px -10px rgba(50, 15, 0, 0.05) !important;
    box-sizing: border-box !important;
}

.lbx-card-head {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 22px !important;
}

.lbx-card-head h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 !important;
}

.lbx-card-head p {
    font-size: 13.5px !important;
    color: #6E5346 !important;
    margin: 4px 0 0 !important;
}

.lbx-head-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    background: #FFF4EB !important;
    color: #D45400 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    flex-shrink: 0 !important;
}

.lbx-head-icon-gold {
    background: linear-gradient(135deg, #FFF0D4 0%, #FFE0A3 100%) !important;
    color: #B45309 !important;
}

.lbx-head-icon-solid {
    background: #D45400 !important;
    color: #FFFFFF !important;
}

/* Top Section: Kategori & Peringkat Saya (.lbx-top) */
.lbx-top {
    display: grid !important;
    grid-template-columns: 360px minmax(0, 1fr) !important;
    gap: 22px !important;
    margin-bottom: 28px !important;
    align-items: start !important;
}

/* Card Kategori (.lbx-cat) */
.lbx-cat {
    padding: 24px 26px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    position: relative !important;
    z-index: 50 !important;
}

.lbx-label {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: #8C7B75 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 12px !important;
}

/* Custom Dropdown Kategori (.lbx-cselect) */
.lbx-cselect {
    position: relative !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    z-index: 60 !important;
}

.lbx-cselect-btn {
    width: 100% !important;
    min-height: 50px !important;
    padding: 10px 16px !important;
    background: #FFF9F5 !important;
    border: 1.5px solid rgba(212, 84, 0, 0.28) !important;
    border-radius: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.lbx-cselect-btn:hover,
.lbx-cselect-btn.is-open {
    border-color: #D45400 !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 16px rgba(212, 84, 0, 0.12) !important;
}

.lbx-cselect-lead {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.lbx-cselect-icon {
    font-size: 19px !important;
    color: #D45400 !important;
    flex-shrink: 0 !important;
}

.lbx-cselect-text {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.lbx-cselect-arrow {
    font-size: 14px !important;
    color: #D45400 !important;
    flex-shrink: 0 !important;
    transition: transform .25s ease !important;
    margin-left: 10px !important;
}

.lbx-cselect-btn.is-open .lbx-cselect-arrow {
    transform: rotate(180deg) !important;
}

.lbx-cselect-menu {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: 0 !important;
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.25) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 40px -6px rgba(45, 15, 0, 0.22) !important;
    padding: 6px !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    animation: lbx-fade-in .18s ease !important;
    max-height: 340px !important;
    overflow-y: auto !important;
}

.lbx-cselect-menu[hidden] {
    display: none !important;
}

@keyframes lbx-fade-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.lbx-cselect-item {
    width: 100% !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    transition: all .15s ease !important;
    text-align: left !important;
}

.lbx-cselect-item:hover {
    background: #FFF4EB !important;
}

.lbx-cselect-item.is-selected {
    background: #FFF0E4 !important;
}

.lbx-cselect-item-lead {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #200500 !important;
}

.lbx-cselect-item-lead i {
    font-size: 16px !important;
    color: #D45400 !important;
}

.lbx-cselect-item.is-selected .lbx-cselect-item-lead {
    color: #D45400 !important;
    font-weight: 800 !important;
}

.lbx-cselect-check {
    font-size: 16px !important;
    color: #D45400 !important;
    font-weight: 800 !important;
}

.lbx-cat-desc {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    background: #FFF4EB !important;
    border-left: 3.5px solid #D45400 !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    color: #5C3A21 !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    margin: 0 0 12px !important;
}

.lbx-cat-desc i {
    color: #D45400 !important;
    font-size: 15px !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
}

.lbx-privacy-note {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #FAFAFA !important;
    border: 1px dashed rgba(212, 84, 0, 0.22) !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    font-size: 11.5px !important;
    color: #7A6258 !important;
    line-height: 1.4 !important;
    margin-top: 0 !important;
}

.lbx-privacy-note i {
    font-size: 14px !important;
    color: #D45400 !important;
    flex-shrink: 0 !important;
}

/* ==========================================================================
   Card Peringkat Saya (.lbx-me) - Refined Layout
   ========================================================================== */
.lbx-me {
    padding: 24px 26px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    justify-content: flex-start !important;
    border: 1.5px solid rgba(212, 84, 0, 0.2) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.lbx-me-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(212, 84, 0, 0.12) !important;
}

.lbx-me-profile {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.lbx-me-profile .lbx-avatar {
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #FF7A1A 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.25) !important;
    border: 3px solid #FFF0E4 !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.lbx-me-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    min-width: 0 !important;
}

.lbx-me-info .lbx-label {
    margin-bottom: 0 !important;
    font-size: 11px !important;
    color: #8C7B75 !important;
}

.lbx-me-name {
    font-family: 'Outfit', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.lbx-me-xp {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #D45400 !important;
    background: #FFF4EB !important;
    border: 1px solid rgba(212, 84, 0, 0.2) !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    width: fit-content !important;
}

.lbx-me-rank-badge {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #FFF9F5 0%, #FFF0E4 100%) !important;
    border: 1.5px solid rgba(212, 84, 0, 0.28) !important;
    border-radius: 16px !important;
    padding: 6px 16px !important;
    min-width: 85px !important;
    box-shadow: 0 4px 12px rgba(212, 84, 0, 0.08) !important;
    flex-shrink: 0 !important;
}

.lbx-me-rank-label {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #8C7B75 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
}

.lbx-me-rank-num {
    font-family: 'Outfit', sans-serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    color: #D45400 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.5px !important;
}

.lbx-me-rank-sub {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #5C3A21 !important;
    white-space: nowrap !important;
}

/* Tombol Aksi Peringkat Saya (Grid 2-Kolom Aman) */
.lbx-me-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
}

.lbx-me-actions .lbx-btn {
    width: 100% !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.lbx-btn-share {
    background: #FFFFFF !important;
    border: 1.5px solid #D45400 !important;
    color: #D45400 !important;
    box-shadow: 0 3px 10px rgba(212, 84, 0, 0.08) !important;
}

.lbx-btn-share:hover {
    background: #D45400 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(212, 84, 0, 0.28) !important;
}

.lbx-btn-pos {
    background: #FFF4EB !important;
    border: 1.5px solid rgba(212, 84, 0, 0.25) !important;
    color: #D45400 !important;
}

.lbx-btn-pos:hover {
    background: #FFE8D6 !important;
    border-color: #D45400 !important;
    color: #B34200 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(212, 84, 0, 0.18) !important;
}

.lbx-btn-login {
    background: #D45400 !important;
    color: #FFFFFF !important;
    border: 1.5px solid #D45400 !important;
}

/* Sub-card: Toggle Tampilkan saya di leaderboard */
.lbx-toggle-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    background: #FFF9F5 !important;
    border: 1.5px solid rgba(212, 84, 0, 0.16) !important;
    border-radius: 16px !important;
    padding: 10px 16px !important;
    box-shadow: 0 4px 12px rgba(70, 25, 0, 0.03) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.lbx-toggle-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    background: #FFF0E4 !important;
    color: #D45400 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
}

.lbx-toggle-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.lbx-toggle-text strong {
    display: block !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin-bottom: 2px !important;
}

.lbx-toggle-text p {
    font-size: 11px !important;
    color: #6E5346 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

/* Switch Toggle Khas iOS / Modern */
.lbx-switch {
    position: relative !important;
    display: inline-block !important;
    width: 50px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.lbx-switch input {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    margin: 0 !important;
    pointer-events: none !important;
}

.lbx-slider {
    position: absolute !important;
    cursor: pointer !important;
    inset: 0 !important;
    background-color: #CBD5E1 !important;
    transition: all .25s ease !important;
    border-radius: 999px !important;
}

.lbx-slider:before {
    position: absolute !important;
    content: "" !important;
    height: 22px !important;
    width: 22px !important;
    left: 3px !important;
    bottom: 3px !important;
    background-color: #FFFFFF !important;
    transition: all .25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

.lbx-switch input:checked + .lbx-slider {
    background-color: #D45400 !important;
}

.lbx-switch input:checked + .lbx-slider:before {
    transform: translateX(22px) !important;
}

/* Avatar Bulat (.lbx-avatar) */
.lbx-avatar,
.lbx-card .lbx-avatar,
.lbx-slot .lbx-avatar,
.lbx-table .lbx-avatar,
.lbx-who .lbx-avatar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #FFF0E4 !important;
    color: #D45400 !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
    border: 2px solid #FFFFFF !important;
    box-shadow: 0 3px 10px rgba(50, 15, 0, 0.1) !important;
    overflow: hidden !important;
}

.lbx-avatar-initial {
    color: #D45400 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.lbx-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.lbx-avatar-sm { width: 36px !important; height: 36px !important; font-size: 13.5px !important; }
.lbx-avatar-lg { width: 58px !important; height: 58px !important; font-size: 21px !important; }
.lbx-avatar-xl { width: 74px !important; height: 74px !important; font-size: 26px !important; }

/* Podium Top 3 (.lbx-podium-card) */
.lbx-podium-card {
    padding: 30px 36px 36px !important;
    margin-bottom: 28px !important;
}

.lbx-podium {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 24px !important;
    padding-top: 40px !important;
    min-height: 330px !important;
}

.lbx-slot {
    flex: 1 1 200px !important;
    max-width: 250px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.lbx-slot-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: #FFFFFF !important;
    border-radius: 22px 22px 0 0 !important;
    padding: 24px 16px 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 24px -6px rgba(50, 15, 0, 0.06) !important;
    transition: all .25s ease !important;
}

.lbx-crown {
    position: absolute !important;
    top: -24px !important;
    font-size: 32px !important;
    filter: drop-shadow(0 4px 10px rgba(255, 180, 2, 0.6)) !important;
    animation: lbx-float 2.5s ease-in-out infinite !important;
}

@keyframes lbx-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* Medal badges on top left of podium card */
.lbx-medal {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2) !important;
    z-index: 2 !important;
}

.lbx-medal-1,
.lbx-slot-1 .lbx-medal {
    background: linear-gradient(135deg, #FFB402 0%, #D45400 100%) !important;
    border: 1.5px solid #FFE4A3 !important;
}

.lbx-medal-2,
.lbx-slot-2 .lbx-medal {
    background: linear-gradient(135deg, #94A3B8 0%, #475569 100%) !important;
    border: 1.5px solid #E2E8F0 !important;
}

.lbx-medal-3,
.lbx-slot-3 .lbx-medal {
    background: linear-gradient(135deg, #F97316 0%, #9A3412 100%) !important;
    border: 1.5px solid #FED7AA !important;
}

.lbx-slot-card h3 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    text-align: center !important;
    margin: 12px 0 4px !important;
    line-height: 1.3 !important;
}

.lbx-slot-xp {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #D45400 !important;
}

/* Pedestal Podium */
.lbx-pedestal {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 0 18px 18px !important;
    color: #FFFFFF !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 900 !important;
}

.lbx-pedestal span {
    font-size: 26px !important;
    letter-spacing: -0.5px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.22) !important;
}

/* Juara 1: Dokter Mekanik Gold Champion */
.lbx-slot-1 .lbx-slot-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFDF7 100%) !important;
    border: 2px solid rgba(255, 180, 2, 0.8) !important;
    border-bottom: none !important;
    box-shadow: 0 12px 30px -4px rgba(212, 84, 0, 0.16) !important;
    transform: translateY(-8px) !important;
}

.lbx-slot-1 .lbx-avatar {
    background: linear-gradient(135deg, #FFB402 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    border: 3.5px solid #FFB402 !important;
    box-shadow: 0 6px 20px rgba(212, 84, 0, 0.35) !important;
}

.lbx-slot-1 .lbx-avatar-initial {
    color: #FFFFFF !important;
}

.lbx-slot-1 .lbx-pedestal {
    height: 150px !important;
    background: linear-gradient(180deg, #FFB402 0%, #D45400 100%) !important;
    box-shadow: 0 12px 30px -4px rgba(212, 84, 0, 0.45) !important;
}

/* Juara 2: Silver Titanium */
.lbx-slot-2 .lbx-slot-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%) !important;
    border: 1.5px solid #CBD5E1 !important;
    border-bottom: none !important;
}

.lbx-slot-2 .lbx-avatar {
    background: linear-gradient(135deg, #94A3B8 0%, #475569 100%) !important;
    color: #FFFFFF !important;
    border: 3.5px solid #CBD5E1 !important;
    box-shadow: 0 4px 14px rgba(71, 85, 105, 0.25) !important;
}

.lbx-slot-2 .lbx-avatar-initial {
    color: #FFFFFF !important;
}

.lbx-slot-2 .lbx-pedestal {
    height: 115px !important;
    background: linear-gradient(180deg, #94A3B8 0%, #475569 100%) !important;
    box-shadow: 0 10px 24px -4px rgba(71, 85, 105, 0.28) !important;
}

/* Juara 3: Bronze Amber */
.lbx-slot-3 .lbx-slot-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFF9F5 100%) !important;
    border: 1.5px solid #FDBA74 !important;
    border-bottom: none !important;
}

.lbx-slot-3 .lbx-avatar {
    background: linear-gradient(135deg, #F97316 0%, #9A3412 100%) !important;
    color: #FFFFFF !important;
    border: 3.5px solid #FDBA74 !important;
    box-shadow: 0 4px 14px rgba(194, 65, 12, 0.25) !important;
}

.lbx-slot-3 .lbx-avatar-initial {
    color: #FFFFFF !important;
}

.lbx-slot-3 .lbx-pedestal {
    height: 85px !important;
    background: linear-gradient(180deg, #FDBA74 0%, #C2410C 100%) !important;
    box-shadow: 0 8px 20px -4px rgba(194, 65, 12, 0.25) !important;
}

/* Bagian Bawah: Tabel Peringkat + Tentang XP (.lbx-bottom) */
.lbx-bottom {
    display: grid !important;
    grid-template-columns: 1fr 340px !important;
    gap: 24px !important;
    align-items: start !important;
}

/* Card Tabel (.lbx-table-card) */
.lbx-table-card {
    padding: 28px 32px !important;
}

.lbx-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 24px !important;
}

.lbx-table th {
    text-align: left !important;
    padding: 12px 18px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #8C7B75 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    border-bottom: 2px solid #FFF0E4 !important;
}

.lbx-table td {
    padding: 14px 18px !important;
    border-bottom: 1px solid #FFF5EE !important;
    font-size: 14.5px !important;
    color: #200500 !important;
    vertical-align: middle !important;
    transition: background .2s ease !important;
}

.lbx-table tbody tr:hover td {
    background: #FFFBF7 !important;
}

.lbx-col-rank {
    width: 80px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    color: #8C7B75 !important;
    font-size: 15px !important;
}

.lbx-col-xp {
    width: 140px !important;
    text-align: right !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    color: #D45400 !important;
    font-size: 15px !important;
}

.lbx-who {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.lbx-name {
    font-weight: 700 !important;
    color: #200500 !important;
}

.lbx-you {
    font-style: normal !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    background: #D45400 !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    margin-left: 8px !important;
    display: inline-block !important;
}

/* Baris Pengguna Aktif (.lbx-row.is-me) */
.lbx-row.is-me td {
    background: #FFF4EB !important;
    border-color: rgba(212, 84, 0, 0.2) !important;
    font-weight: 700 !important;
}

.lbx-row.is-me td:first-child {
    border-left: 4px solid #D45400 !important;
    border-top-left-radius: 10px !important;
    border-bottom-left-radius: 10px !important;
}

.lbx-row.is-me td:last-child {
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.lbx-row.is-me .lbx-col-rank {
    color: #D45400 !important;
}

/* Pagination (.lbx-pager) */
.lbx-pager {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding-top: 12px !important;
}

.lbx-pager-btn,
.lbx-pager-num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    color: #5C3A21 !important;
    background: #FFF9F5 !important;
    border: 1px solid rgba(212, 84, 0, 0.2) !important;
    transition: all .2s ease !important;
}

.lbx-pager-num {
    min-width: 40px !important;
    padding: 0 !important;
}

.lbx-pager-num.is-active {
    background: #D45400 !important;
    border-color: #D45400 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.3) !important;
}

.lbx-pager-btn:hover:not(.is-disabled),
.lbx-pager-num:hover:not(.is-active) {
    background: #FFF0E4 !important;
    border-color: #D45400 !important;
    color: #D45400 !important;
}

.lbx-pager-btn.is-disabled {
    opacity: 0.4 !important;
    pointer-events: none !important;
}

/* Card Samping (.lbx-about: Tentang XP) */
.lbx-about {
    padding: 28px 26px !important;
}

.lbx-about .lbx-head-icon {
    background: #FFF4EB !important;
    color: #D45400 !important;
}

.lbx-about p {
    font-size: 13.5px !important;
    color: #5C3A21 !important;
    line-height: 1.6 !important;
    margin: 0 0 18px !important;
}

.lbx-note {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: #FFF4EB !important;
    border: 1.5px solid rgba(212, 84, 0, 0.2) !important;
    border-left: 4px solid #D45400 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
}

.lbx-note-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    background: #D45400 !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.lbx-note strong {
    display: block !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin-bottom: 3px !important;
}

.lbx-note p {
    font-size: 12.5px !important;
    color: #6E5346 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}

/* Modal Dialogs Khas Dokter Mekanik */
.lbx-dialog {
    border: none !important;
    border-radius: 26px !important;
    padding: 0 !important;
    box-shadow: 0 20px 60px rgba(40, 15, 0, 0.25) !important;
    background: #FFFFFF !important;
    max-width: 580px !important;
    width: calc(100% - 32px) !important;
}

.lbx-dialog::backdrop {
    background: rgba(32, 5, 0, 0.55) !important;
    backdrop-filter: blur(4px) !important;
}

.lbx-dialog-body {
    padding: 32px 36px !important;
    position: relative !important;
}

.lbx-dialog-body h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 18px !important;
}

.bdx-dialog-close {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #FFF4EB !important;
    border: none !important;
    color: #D45400 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.bdx-dialog-close:hover {
    background: #D45400 !important;
    color: #FFFFFF !important;
}

.lbx-terms-list {
    padding-left: 20px !important;
    color: #5C3A21 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

.lbx-terms-list li {
    margin-bottom: 10px !important;
}

.lbx-terms-list li::marker {
    color: #D45400 !important;
    font-weight: 800 !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN LEADERBOARD
   ========================================================================== */

/* Tablet & iPad (<= 850px) */
@media (max-width: 850px) {
    .lbx-page {
        padding-top: 90px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .lbx-top {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .lbx-bottom {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .lbx-hero {
        padding: 30px 28px !important;
        border-radius: 22px !important;
    }

    .lbx-hero::before {
        width: 200px !important;
        opacity: 0.25 !important;
        right: 16px !important;
    }

    .lbx-podium {
        gap: 14px !important;
    }

    .lbx-slot {
        flex: 1 1 140px !important;
    }

    .lbx-slot-1 .lbx-pedestal { height: 130px !important; }
    .lbx-slot-2 .lbx-pedestal { height: 100px !important; }
    .lbx-slot-3 .lbx-pedestal { height: 75px !important; }
}

/* Mobile Standard / Large Phones (<= 414px) */
@media (max-width: 414px) {
    .lbx-page {
        padding: 80px 14px 50px !important;
    }

    .lbx-page .re-nav-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        margin-bottom: 16px !important;
    }

    .lbx-hero {
        padding: 22px 16px !important;
        min-height: auto !important;
        border-radius: 18px !important;
        margin-bottom: 16px !important;
    }

    .lbx-hero::before {
        width: 130px !important;
        max-width: 32% !important;
        opacity: 0.18 !important;
        right: -6px !important;
    }

    .lbx-hero-badge {
        font-size: 10.5px !important;
        padding: 4px 10px !important;
        margin-bottom: 8px !important;
    }

    .lbx-hero h1 {
        font-size: 24px !important;
        margin: 0 0 6px !important;
    }

    .lbx-hero p {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
        margin: 0 0 14px !important;
    }

    .lbx-terms-link {
        width: 100% !important;
        justify-content: center !important;
        font-size: 12px !important;
        padding: 8px 12px !important;
    }

    .lbx-card {
        padding: 16px 14px !important;
        border-radius: 18px !important;
    }

    .lbx-top {
        gap: 14px !important;
        margin-bottom: 16px !important;
    }

    .lbx-me-top {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .lbx-me-profile {
        gap: 10px !important;
    }

    .lbx-me-profile .lbx-avatar {
        width: 44px !important;
        height: 44px !important;
    }

    .lbx-me-name {
        font-size: 14.5px !important;
    }

    .lbx-me-xp {
        font-size: 12.5px !important;
    }

    .lbx-me-rank-badge {
        padding: 6px 12px !important;
        border-radius: 14px !important;
    }

    .lbx-me-rank-num {
        font-size: 22px !important;
    }

    .lbx-me-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin-top: 12px !important;
    }

    .lbx-me-actions .lbx-btn {
        width: 100% !important;
        justify-content: center !important;
        font-size: 11.5px !important;
        height: 38px !important;
        padding: 0 8px !important;
    }

    .lbx-toggle-card {
        padding: 10px 12px !important;
        margin-top: 12px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    .lbx-toggle-text strong {
        font-size: 12px !important;
    }

    .lbx-toggle-text p {
        font-size: 10.5px !important;
    }

    /* Podium Mobile */
    .lbx-podium-card {
        padding: 18px 12px !important;
        border-radius: 18px !important;
        margin-bottom: 16px !important;
    }

    .lbx-podium {
        gap: 6px !important;
        min-height: auto !important;
        padding-top: 24px !important;
    }

    .lbx-slot {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    .lbx-slot-card {
        padding: 12px 4px 8px !important;
        border-radius: 14px 14px 0 0 !important;
    }

    .lbx-slot-1 .lbx-avatar-xl {
        width: 54px !important;
        height: 54px !important;
        font-size: 20px !important;
    }

    .lbx-slot-2 .lbx-avatar-lg,
    .lbx-slot-3 .lbx-avatar-lg {
        width: 44px !important;
        height: 44px !important;
        font-size: 16px !important;
    }

    .lbx-slot-card h3 {
        font-size: 11.5px !important;
        margin: 6px 0 2px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        width: 100% !important;
        text-align: center !important;
    }

    .lbx-slot-xp {
        font-size: 10.5px !important;
        white-space: nowrap !important;
    }

    .lbx-crown {
        font-size: 20px !important;
        top: -16px !important;
    }

    .lbx-medal {
        width: 20px !important;
        height: 20px !important;
        font-size: 10px !important;
        top: 6px !important;
        left: 6px !important;
    }

    .lbx-slot-1 .lbx-pedestal { height: 90px !important; }
    .lbx-slot-2 .lbx-pedestal { height: 68px !important; }
    .lbx-slot-3 .lbx-pedestal { height: 50px !important; }

    .lbx-pedestal span {
        font-size: 16px !important;
    }

    /* Table Mobile */
    .lbx-table-card {
        padding: 16px 12px !important;
        border-radius: 18px !important;
    }

    .lbx-table th,
    .lbx-table td {
        padding: 9px 6px !important;
        font-size: 12px !important;
    }

    .lbx-col-rank {
        width: 40px !important;
        font-size: 12.5px !important;
    }

    .lbx-col-xp {
        width: 75px !important;
        font-size: 11.5px !important;
    }

    .lbx-name {
        max-width: 125px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .lbx-pager {
        gap: 5px !important;
        padding-top: 10px !important;
    }

    .lbx-pager-btn,
    .lbx-pager-num {
        height: 34px !important;
        font-size: 11.5px !important;
        padding: 0 10px !important;
    }

    .lbx-pager-num {
        min-width: 34px !important;
        padding: 0 !important;
    }

    /* Dialog Achievement & Terms */
    .lbx-dialog {
        width: 95vw !important;
        max-width: 95vw !important;
        border-radius: 18px !important;
        margin: auto !important;
    }

    .lbx-dialog-body {
        padding: 18px 14px !important;
    }

    .lbx-ach-canvas {
        max-width: 100% !important;
        height: auto !important;
    }

    .lbx-ach-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .lbx-ach-actions button {
        width: 100% !important;
        height: 40px !important;
        font-size: 12px !important;
    }
}

/* Extra Small Phones (<= 360px) */
@media (max-width: 360px) {
    .lbx-page {
        padding-left: 8px !important;
        padding-right: 8px !important;
        padding-top: 75px !important;
    }

    .lbx-hero {
        padding: 18px 12px !important;
        border-radius: 16px !important;
    }

    .lbx-hero h1 {
        font-size: 21px !important;
    }

    .lbx-hero p {
        font-size: 12px !important;
    }

    .lbx-card {
        padding: 14px 10px !important;
        border-radius: 16px !important;
    }

    .lbx-me-actions {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .lbx-slot-card {
        padding: 10px 2px 6px !important;
    }

    .lbx-slot-1 .lbx-avatar-xl {
        width: 46px !important;
        height: 46px !important;
        font-size: 17px !important;
    }

    .lbx-slot-2 .lbx-avatar-lg,
    .lbx-slot-3 .lbx-avatar-lg {
        width: 38px !important;
        height: 38px !important;
        font-size: 14px !important;
    }

    .lbx-slot-card h3 {
        font-size: 10.5px !important;
    }

    .lbx-slot-xp {
        font-size: 9.5px !important;
    }

    .lbx-slot-1 .lbx-pedestal { height: 75px !important; }
    .lbx-slot-2 .lbx-pedestal { height: 58px !important; }
    .lbx-slot-3 .lbx-pedestal { height: 42px !important; }

    .lbx-name {
        max-width: 95px !important;
    }

    .lbx-col-rank {
        width: 32px !important;
    }

    .lbx-col-xp {
        width: 65px !important;
    }

    .lbx-ach-actions {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   Halaman Badge dr. Mekanik Academy (.bdg-*)
   Desain presisi referensi Bisa AI dengan identitas Dokter Mekanik:
   - 3D Medallion Ornate Coin (Bronze, Silver, Gold)
   - Locked Badge (Grey monochrome + bottom-right lock badge)
   - Learning Progress berbasis akumulasi XP (Bronze, Silver, Gold tiers)
   - Progress meter (bar + label 'cur / tgt')
   - Tanpa Searchbar, Kategori Pills Filter
   - Responsif komprehensif (<= 850px, <= 414px, <= 360px)
   ========================================================================== */

/* Page Overflow Guard for Badge */
html,
body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

body:has(.bdg-page),
body:has(.dm-my-badge-page) {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

.bdg-page,
.dm-my-badge-page {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 124px 24px 80px !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
}

/* Nav Bar & Breadcrumbs */
.bdg-page .re-nav-bar,
    .dm-my-badge-page .re-nav-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin-bottom: 20px !important;
}

.bdg-page .re-crumb-trail .re-active {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 14px !important;
    border-radius: 999px !important;
    background: #FFF3E8 !important;
    color: #D45400 !important;
    border: 1px solid #FFD8BF !important;
    font-weight: 700 !important;
}

/* Nav Tab Switcher: Rewards | Badge */
.bdg-top-tabs {
    display: inline-flex !important;
    align-items: center !important;
    background: #FFF4EB !important;
    border: 1.5px solid rgba(212, 84, 0, 0.2) !important;
    border-radius: 999px !important;
    padding: 4px !important;
    gap: 4px !important;
    margin-bottom: 22px !important;
}

.bdg-tab-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 22px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #6E5346 !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
}

.bdg-tab-link:hover {
    color: #D45400 !important;
}

.bdg-tab-link.is-active {
    background: #FFFFFF !important;
    color: #D45400 !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.12) !important;
}

/* Hero Banner (.bdg-hero) */
.bdg-hero {
    position: relative !important;
    background: linear-gradient(135deg, #FFF9F5 0%, #FFF0E4 100%) !important;
    border: 1.5px solid rgba(212, 84, 0, 0.2) !important;
    border-radius: 24px !important;
    padding: 36px 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 10px 32px -10px rgba(50, 15, 0, 0.05) !important;
    overflow: hidden !important;
}

.bdg-hero-content {
    flex: 1 1 auto !important;
    max-width: 580px !important;
    z-index: 2 !important;
}

.bdg-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(212, 84, 0, 0.25) !important;
    color: #D45400 !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 2px 8px rgba(212, 84, 0, 0.08) !important;
}

.bdg-hero h1 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    color: #200500 !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
}

.bdg-hero p {
    font-size: 14.5px !important;
    color: #5C3A21 !important;
    line-height: 1.6 !important;
    margin: 0 0 20px !important;
}

.bdg-hero-stats {
    display: inline-flex !important;
    align-items: center !important;
    gap: 18px !important;
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.16) !important;
    border-radius: 16px !important;
    padding: 10px 20px !important;
    box-shadow: 0 4px 14px rgba(70, 25, 0, 0.04) !important;
}

.bdg-stat-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.bdg-stat-num {
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #D45400 !important;
    line-height: 1.1 !important;
}

.bdg-stat-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #8C7B75 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.bdg-stat-sep {
    width: 1px !important;
    height: 28px !important;
    background: rgba(212, 84, 0, 0.18) !important;
}

.bdg-hero-visual {
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
}

.bdg-hero-visual img {
    max-width: 100% !important;
    height: auto !important;
    max-height: 200px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 14px 28px rgba(70, 25, 0, 0.15)) !important;
    border-radius: 18px !important;
}

/* Info Callout Card (.bdg-info-card) */
.bdg-info-card {
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.18) !important;
    border-radius: 20px !important;
    padding: 22px 28px !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-bottom: 26px !important;
    box-shadow: 0 6px 20px -8px rgba(50, 15, 0, 0.04) !important;
}

.bdg-info-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    background: #FFF0E4 !important;
    color: #D45400 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 12px rgba(212, 84, 0, 0.12) !important;
}

.bdg-info-body {
    flex: 1 1 auto !important;
}

.bdg-info-body h3 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 4px !important;
}

.bdg-info-body p {
    font-size: 13.5px !important;
    color: #5C3A21 !important;
    line-height: 1.5 !important;
    margin: 0 0 8px !important;
}

.bdg-terms-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #D45400 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.bdg-terms-btn i {
    transition: transform .2s ease !important;
}

.bdg-terms-btn:hover {
    color: #B34200 !important;
}

.bdg-terms-btn:hover i {
    transform: translateX(4px) !important;
}

/* Toolbar: Filter Pills (Tanpa Searchbar) */
.bdg-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-bottom: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.bdg-filters {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.bdg-filter-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.2) !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #5C3A21 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.bdg-pill-count {
    background: #FFF0E4 !important;
    color: #D45400 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    transition: all .2s ease !important;
}

.bdg-filter-pill:hover {
    border-color: #D45400 !important;
    background: #FFF9F5 !important;
    color: #D45400 !important;
}

.bdg-filter-pill.is-active {
    background: #D45400 !important;
    border-color: #D45400 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.25) !important;
}

.bdg-filter-pill.is-active .bdg-pill-count {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #FFFFFF !important;
}

/* Grouping Section (.bdg-group) */
.bdg-group {
    margin-bottom: 40px !important;
}

.bdg-group-head {
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px solid rgba(212, 84, 0, 0.12) !important;
}

.bdg-group-title-col h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 4px !important;
}

.bdg-group-title-col p {
    font-size: 13.5px !important;
    color: #6E5346 !important;
    margin: 0 !important;
}

/* Subtier Section (Learning Progress Tiers: Bronze, Silver, Gold) */
.bdg-tier-section {
    margin-bottom: 28px !important;
}

.bdg-subtier {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
    padding-left: 2px !important;
}

.bdg-subtier-bullet {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8), 0 0 0 3.5px rgba(212, 84, 0, 0.25) !important;
}

.bdg-subtier strong {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    color: #200500 !important;
}

.bdg-subtier-count {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #8C7B75 !important;
    margin-left: 2px !important;
}

/* Badge Grid (.bdg-grid) */
.bdg-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
    gap: 20px !important;
}

/* Badge Card (.bdg-card) */
.bdg-card {
    background: #FFFFFF !important;
    border: 1.5px solid rgba(212, 84, 0, 0.16) !important;
    border-radius: 22px !important;
    padding: 22px 18px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    transition: all .25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    position: relative !important;
    box-shadow: 0 4px 18px -6px rgba(50, 15, 0, 0.04) !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.bdg-card:hover,
.bdg-card:focus-visible {
    transform: translateY(-4px) !important;
    border-color: #D45400 !important;
    box-shadow: 0 14px 30px -8px rgba(212, 84, 0, 0.2) !important;
}

.bdg-card.is-locked {
    background: #FAFBFD !important;
    border-color: #E2E8F0 !important;
}

.bdg-card.is-locked:hover,
.bdg-card.is-locked:focus-visible {
    border-color: #CBD5E1 !important;
    box-shadow: 0 10px 24px -8px rgba(100, 116, 139, 0.18) !important;
}

/* ==========================================================================
   3D Medallion Ornate Coin (.bdg-coin) - Presisi Referensi Bisa AI
   ========================================================================== */

.bdg-medal-stage {
    position: relative !important;
    width: 86px !important;
    height: 86px !important;
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.bdg-coin {
    position: relative !important;
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: transform .25s ease !important;
}

.bdg-card:hover .bdg-coin {
    transform: scale(1.05) !important;
}

.bdg-coin-pic {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
    display: block !important;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.22)) !important;
}

.bdg-coin.has-pic {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Outer Rim (Beveled 3D Metallic Edge) */
.bdg-coin-rim {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 50% !important;
    padding: 3.5px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Concentric Wreath Ring */
.bdg-coin-wreath {
    position: absolute !important;
    inset: 4px !important;
    border-radius: 50% !important;
    border: 1.5px dashed rgba(255, 255, 255, 0.6) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* Recessed Inner Core with Icon */
.bdg-coin-core {
    position: relative !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 26px !important;
    z-index: 2 !important;
}

/* TIER THEMES: BRONZE */
.bdg-coin.is-tier-bronze .bdg-coin-rim {
    background: linear-gradient(135deg, #E69B60 0%, #B8652B 45%, #7A350D 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.4), inset 0 -2px 4px rgba(0, 0, 0, 0.3), 0 6px 16px rgba(184, 101, 43, 0.28) !important;
}
.bdg-coin.is-tier-bronze .bdg-coin-wreath {
    border-color: rgba(255, 230, 205, 0.65) !important;
}
.bdg-coin.is-tier-bronze .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #FFF5EB 60%, #F5DEC9 100%) !important;
    color: #A65722 !important;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.14), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: SILVER */
.bdg-coin.is-tier-silver .bdg-coin-rim {
    background: linear-gradient(135deg, #FFFFFF 0%, #E2E8F0 30%, #94A3B8 70%, #475569 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.7), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 6px 16px rgba(100, 116, 139, 0.22) !important;
}
.bdg-coin.is-tier-silver .bdg-coin-wreath {
    border-color: rgba(255, 255, 255, 0.75) !important;
}
.bdg-coin.is-tier-silver .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #F8FAFC 60%, #E2E8F0 100%) !important;
    color: #475569 !important;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

/* TIER THEMES: GOLD */
.bdg-coin.is-tier-gold .bdg-coin-rim {
    background: linear-gradient(135deg, #FFF3B8 0%, #FFD54F 25%, #FFB402 60%, #D45400 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.7), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 22px rgba(255, 180, 2, 0.35) !important;
}
.bdg-coin.is-tier-gold .bdg-coin-wreath {
    border-color: rgba(255, 248, 220, 0.8) !important;
}
.bdg-coin.is-tier-gold .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #FFFDF0 60%, #FFE082 100%) !important;
    color: #D45400 !important;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.9) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: DIAMOND */
.bdg-coin.is-tier-diamond .bdg-coin-rim {
    background: linear-gradient(135deg, #E0F2FE 0%, #7DD3FC 40%, #0284C7 80%, #0369A1 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(2, 132, 199, 0.3) !important;
}
.bdg-coin.is-tier-diamond .bdg-coin-wreath {
    border-color: rgba(224, 242, 254, 0.8) !important;
}
.bdg-coin.is-tier-diamond .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #F0F9FF 60%, #BAE6FD 100%) !important;
    color: #0284C7 !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: PLATINUM */
.bdg-coin.is-tier-platinum .bdg-coin-rim {
    background: linear-gradient(135deg, #E0F7FA 0%, #4DD0E1 40%, #0097A7 80%, #006064 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(0, 151, 167, 0.3) !important;
}
.bdg-coin.is-tier-platinum .bdg-coin-wreath { border-color: rgba(224, 247, 250, 0.8) !important; }
.bdg-coin.is-tier-platinum .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #E0F7FA 60%, #B2EBF2 100%) !important;
    color: #00838F !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: MYTHIC */
.bdg-coin.is-tier-mythic .bdg-coin-rim {
    background: linear-gradient(135deg, #F3E8FF 0%, #C084FC 40%, #7E22CE 80%, #581C87 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(126, 34, 206, 0.3) !important;
}
.bdg-coin.is-tier-mythic .bdg-coin-wreath { border-color: rgba(243, 232, 255, 0.8) !important; }
.bdg-coin.is-tier-mythic .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #FAF5FF 60%, #E9D5FF 100%) !important;
    color: #7E22CE !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: HIJAU TUA (GREEN DARK) */
.bdg-coin.is-tier-green_dark .bdg-coin-rim {
    background: linear-gradient(135deg, #D1FAE5 0%, #34D399 40%, #059669 80%, #064E3B 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(5, 150, 105, 0.3) !important;
}
.bdg-coin.is-tier-green_dark .bdg-coin-wreath { border-color: rgba(209, 250, 229, 0.8) !important; }
.bdg-coin.is-tier-green_dark .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #ECFDF5 60%, #A7F3D0 100%) !important;
    color: #047857 !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: HIJAU MUDA (GREEN LIGHT) */
.bdg-coin.is-tier-green_light .bdg-coin-rim {
    background: linear-gradient(135deg, #ECFCCB 0%, #A3E635 40%, #65A30D 80%, #365314 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(101, 163, 13, 0.3) !important;
}
.bdg-coin.is-tier-green_light .bdg-coin-wreath { border-color: rgba(236, 252, 203, 0.8) !important; }
.bdg-coin.is-tier-green_light .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #F7FEE7 60%, #D9F99D 100%) !important;
    color: #4D7C0F !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: BIRU MUDA (BLUE LIGHT) */
.bdg-coin.is-tier-blue_light .bdg-coin-rim {
    background: linear-gradient(135deg, #E0F2FE 0%, #38BDF8 40%, #0284C7 80%, #0369A1 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(2, 132, 199, 0.3) !important;
}
.bdg-coin.is-tier-blue_light .bdg-coin-wreath { border-color: rgba(224, 242, 254, 0.8) !important; }
.bdg-coin.is-tier-blue_light .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #F0F9FF 60%, #BAE6FD 100%) !important;
    color: #0369A1 !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* TIER THEMES: MERAH (RED) */
.bdg-coin.is-tier-red .bdg-coin-rim {
    background: linear-gradient(135deg, #FFE4E6 0%, #FB7185 40%, #E11D48 80%, #881337 100%) !important;
    box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.8), inset 0 -2px 4px rgba(0, 0, 0, 0.25), 0 8px 20px rgba(225, 29, 72, 0.3) !important;
}
.bdg-coin.is-tier-red .bdg-coin-wreath { border-color: rgba(255, 228, 230, 0.8) !important; }
.bdg-coin.is-tier-red .bdg-coin-core {
    background: radial-gradient(circle at 35% 30%, #FFFFFF 0%, #FFF1F2 60%, #FECDD3 100%) !important;
    color: #BE123C !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

/* LOCKED BADGE COIN: Tetap pertahankan warna tier dengan opacity & saturation elegan */
.bdg-coin.is-locked {
    filter: grayscale(0.25) saturate(0.85);
    opacity: 0.76;
    transition: all 0.25s ease;
}
.bdg-card:hover .bdg-coin.is-locked {
    filter: grayscale(0.1) saturate(0.95);
    opacity: 0.95;
    transform: translateY(-2px) scale(1.02);
}

/* Lock Badge Circle (Bottom Right of Coin - Identik Bisa AI) */
.bdg-lock-badge {
    position: absolute !important;
    right: -2px !important;
    bottom: -2px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: #64748B !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2.5px solid #FFFFFF !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22) !important;
    z-index: 5 !important;
}

/* Card Body Content */
.bdg-card-body {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    flex: 1 1 auto !important;
}

.bdg-name {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
    min-height: 38px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.bdg-req {
    font-size: 12px !important;
    color: #6E5346 !important;
    line-height: 1.4 !important;
    margin: 0 0 10px !important;
    min-height: 34px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Progress Meter (.bdg-meter) */
.bdg-meter {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: auto !important;
    padding-top: 8px !important;
}

.bdg-meter-bar {
    width: 100% !important;
    height: 5px !important;
    background: #E2E8F0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.bdg-meter-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #FFB402 0%, #D45400 100%) !important;
    border-radius: 999px !important;
    transition: width .4s ease !important;
}

.bdg-meter-label {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    letter-spacing: 0.2px !important;
    text-align: center !important;
}

/* Dialog Modal (.bdg-dialog) */
.bdg-dialog {
    border: none !important;
    border-radius: 24px !important;
    padding: 0 !important;
    box-shadow: 0 25px 60px -15px rgba(32, 5, 0, 0.35) !important;
    max-width: 480px !important;
    width: calc(100% - 32px) !important;
}

.bdg-dialog::backdrop {
    background: rgba(32, 5, 0, 0.55) !important;
    backdrop-filter: blur(4px) !important;
}

.bdg-dialog-body {
    padding: 32px 30px !important;
    background: #FFFFFF !important;
    border-radius: 24px !important;
    position: relative !important;
}

/* Modal Syarat & Ketentuan (.bdg-terms-dialog) */
.bdg-terms-dialog {
    max-width: 520px !important;
    width: calc(100% - 32px) !important;
    border-radius: 24px !important;
}

.bdg-terms-dialog-body {
    padding: 28px 26px !important;
    text-align: left !important;
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    background: #FFFFFF !important;
}

.bdg-terms-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1.5px solid rgba(212, 84, 0, 0.12) !important;
    padding-right: 32px !important;
}

.bdg-terms-header .bdg-dialog-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    background: #FFF0E4 !important;
    color: #D45400 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 12px rgba(212, 84, 0, 0.12) !important;
}

.bdg-terms-header-text h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 2px !important;
    line-height: 1.25 !important;
}

.bdg-terms-header-text p {
    font-size: 12px !important;
    color: #8C7B75 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.bdg-terms-card-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
    max-height: 380px !important;
    overflow-y: auto !important;
    padding-right: 4px !important;
}

/* Custom Scrollbar */
.bdg-terms-card-list::-webkit-scrollbar {
    width: 5px !important;
}
.bdg-terms-card-list::-webkit-scrollbar-thumb {
    background: rgba(212, 84, 0, 0.25) !important;
    border-radius: 999px !important;
}

.bdg-term-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    background: #FFF9F5 !important;
    border: 1px solid rgba(212, 84, 0, 0.12) !important;
    border-radius: 14px !important;
    transition: all .2s ease !important;
}

.bdg-term-item:hover {
    background: #FFF4EB !important;
    border-color: rgba(212, 84, 0, 0.25) !important;
}

.bdg-term-num {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: #D45400 !important;
    color: #FFFFFF !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.bdg-term-content {
    flex: 1 1 auto !important;
}

.bdg-term-content h4 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 3px !important;
    line-height: 1.3 !important;
}

.bdg-term-content p {
    font-size: 12px !important;
    color: #5C3A21 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.bdg-modal-btn-primary {
    width: 100% !important;
    padding: 12px !important;
    background: #D45400 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.bdg-modal-btn-primary:hover {
    background: #B34200 !important;
    box-shadow: 0 6px 18px rgba(212, 84, 0, 0.3) !important;
}

/* Modal Detail & Share */
.bdg-modal-preview {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin-bottom: 20px !important;
}

.bdg-modal-coin-wrap {
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.bdg-coin.is-modal {
    width: 100px !important;
    height: 100px !important;
}

.bdg-coin.is-modal .bdg-coin-rim {
    padding: 5px !important;
}

.bdg-coin.is-modal .bdg-coin-wreath {
    inset: 5px !important;
    border-width: 2px !important;
}

.bdg-coin.is-modal .bdg-coin-core {
    width: 72px !important;
    height: 72px !important;
    font-size: 34px !important;
}

.bdg-modal-tier-badge {
    font-size: 10px !important;
    font-weight: 900 !important;
    padding: 3px 12px !important;
    border-radius: 999px !important;
    background: #200500 !important;
    color: #FFFFFF !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 10px !important;
}

.bdg-modal-preview h2 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #200500 !important;
    margin: 0 0 6px !important;
}

.bdg-modal-preview p {
    font-size: 13.5px !important;
    color: #5C3A21 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.bdg-modal-status-box {
    background: #FFF9F5 !important;
    border: 1.5px solid rgba(212, 84, 0, 0.16) !important;
    border-radius: 16px !important;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.bdg-modal-status-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.bdg-modal-status-lbl {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #8C7B75 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.bdg-modal-status-val {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #200500 !important;
}

.bdg-meter.is-modal {
    margin-top: 4px !important;
    padding-top: 0 !important;
}

.bdg-modal-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.bdg-modal-btn-share {
    width: 100% !important;
    padding: 12px !important;
    background: #D45400 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.bdg-modal-btn-share:hover {
    background: #B34200 !important;
    box-shadow: 0 6px 18px rgba(212, 84, 0, 0.3) !important;
}

.bdg-modal-btn-secondary {
    width: 100% !important;
    padding: 11px !important;
    background: #F8FAFC !important;
    color: #64748B !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 999px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

.bdg-modal-btn-secondary:hover {
    background: #F1F5F9 !important;
    color: #334155 !important;
}

/* Opsi Share Chips */
.bdg-share-pop {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px dashed rgba(212, 84, 0, 0.18) !important;
}

.bdg-share-chip {
    padding: 7px 14px !important;
    background: #FFF4EB !important;
    border: 1px solid rgba(212, 84, 0, 0.22) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #D45400 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all .2s ease !important;
}

.bdg-share-chip:hover {
    background: #D45400 !important;
    color: #FFFFFF !important;
}

.bdg-copy-feedback {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #10B981 !important;
    margin: 8px 0 0 !important;
    text-align: center !important;
}

/* ==========================================================================
   Responsive Breakpoints Badge
   ========================================================================== */

/* Tablets (<= 850px) */
@media (max-width: 850px) {
    .bdg-page,
    .dm-my-badge-page {
        padding-top: 100px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        overflow-x: hidden !important;
    }

    .bdg-hero {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 24px 20px !important;
        gap: 16px !important;
        width: 100% !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }

    .bdg-hero-content {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        text-align: left !important;
    }

    .bdg-hero-visual {
        flex: 0 0 auto !important;
        align-self: center !important;
        width: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    .bdg-hero-visual img {
        max-height: 160px !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .bdg-info-card {
        padding: 18px 20px !important;
        gap: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bdg-toolbar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 6px !important;
        margin-bottom: 22px !important;
        scrollbar-width: thin;
        scrollbar-color: rgba(212, 84, 0, 0.35) transparent;
    }

    .bdg-toolbar::-webkit-scrollbar {
        height: 5px !important;
    }

    .bdg-toolbar::-webkit-scrollbar-track {
        background: rgba(212, 84, 0, 0.05) !important;
        border-radius: 999px !important;
    }

    .bdg-toolbar::-webkit-scrollbar-thumb {
        background: rgba(212, 84, 0, 0.35) !important;
        border-radius: 999px !important;
    }

    .bdg-toolbar::-webkit-scrollbar-thumb:hover {
        background: #D45400 !important;
    }

    .bdg-filters {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        gap: 8px !important;
        padding: 2px 2px 4px !important;
    }

    .bdg-filter-pill {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }

    .bdg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bdg-card {
        padding: 16px 12px 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Intermediate screen (<= 640px) */
@media (max-width: 640px) {
    .bdg-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* Mobile Phones (<= 414px) */
@media (max-width: 414px) {
    .bdg-page,
    .dm-my-badge-page {
        padding-top: 85px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-bottom: 45px !important;
        overflow-x: hidden !important;
    }

    .bdg-page .re-nav-bar,
    .dm-my-badge-page .re-nav-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        margin-bottom: 14px !important;
    }

    .bdg-top-tabs {
        width: 100% !important;
        display: flex !important;
        box-sizing: border-box !important;
        margin-bottom: 16px !important;
        padding: 3px !important;
        gap: 3px !important;
    }

    .bdg-tab-link {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 8px 4px !important;
        font-size: 12px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .bdg-hero {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 18px 14px !important;
        border-radius: 18px !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
        width: 100% !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }

    .bdg-hero-badge {
        font-size: 10.5px !important;
        padding: 4px 10px !important;
        margin-bottom: 6px !important;
    }

    .bdg-hero h1 {
        font-size: 24px !important;
        line-height: 1.2 !important;
        margin: 0 0 6px !important;
    }

    .bdg-hero p {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
        margin: 0 !important;
    }

    .bdg-hero-content {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
    }

    .bdg-hero-visual {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    .bdg-hero-visual img {
        max-height: 130px !important;
        width: auto !important;
    }

    .bdg-info-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        padding: 14px 12px !important;
        border-radius: 14px !important;
        gap: 10px !important;
        margin-bottom: 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bdg-info-icon {
        width: 38px !important;
        height: 38px !important;
        font-size: 19px !important;
        border-radius: 11px !important;
        flex-shrink: 0 !important;
        margin-top: 2px !important;
    }

    .bdg-info-body h3 {
        font-size: 14px !important;
        margin: 0 0 4px !important;
    }

    .bdg-info-body p {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        margin: 0 0 8px !important;
    }

    .bdg-terms-btn {
        font-size: 11.5px !important;
    }

    .bdg-toolbar {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 18px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 5px !important;
        scrollbar-width: thin;
        scrollbar-color: rgba(212, 84, 0, 0.35) transparent;
    }

    .bdg-toolbar::-webkit-scrollbar {
        height: 4px !important;
    }

    .bdg-toolbar::-webkit-scrollbar-track {
        background: rgba(212, 84, 0, 0.05) !important;
        border-radius: 999px !important;
    }

    .bdg-toolbar::-webkit-scrollbar-thumb {
        background: rgba(212, 84, 0, 0.35) !important;
        border-radius: 999px !important;
    }

    .bdg-filters {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        gap: 7px !important;
        padding: 2px 2px 3px !important;
    }

    .bdg-filter-pill {
        padding: 7px 13px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }

    .bdg-pill-count {
        font-size: 10px !important;
        padding: 2px 6px !important;
    }

    .bdg-group {
        margin-bottom: 22px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bdg-group-head {
        margin-bottom: 12px !important;
        padding-bottom: 6px !important;
    }

    .bdg-group-title-col h2 {
        font-size: 16px !important;
        margin: 0 0 2px !important;
    }

    .bdg-group-title-col p {
        font-size: 11.5px !important;
    }

    .bdg-subtier {
        gap: 6px !important;
        margin-bottom: 10px !important;
    }

    .bdg-subtier strong {
        font-size: 13.5px !important;
    }

    .bdg-subtier-count {
        font-size: 11px !important;
    }

    /* Kartu Badge Presisi Gambar 2: 1 Kolom Lapang & Medali Penuh */
    .bdg-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bdg-card {
        padding: 22px 18px 20px !important;
        border-radius: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bdg-medal-stage {
        width: 86px !important;
        height: 86px !important;
        margin-bottom: 12px !important;
    }

    .bdg-coin {
        width: 80px !important;
        height: 80px !important;
    }

    .bdg-coin-pic {
        width: 80px !important;
        height: 80px !important;
        max-width: 80px !important;
        max-height: 80px !important;
    }

    .bdg-name {
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        margin: 0 0 4px !important;
    }

    .bdg-req {
        font-size: 13px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
    }

    /* Modal Terms & Detail */
    .bdg-dialog {
        width: 95vw !important;
        max-width: 95vw !important;
        border-radius: 18px !important;
        margin: auto !important;
    }

    .bdg-dialog-body {
        padding: 18px 14px !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
    }

    .bdg-terms-header {
        gap: 12px !important;
        margin-bottom: 16px !important;
    }

    .bdg-terms-header-text h2 {
        font-size: 16px !important;
    }

    .bdg-terms-header-text p {
        font-size: 11.5px !important;
    }

    .bdg-term-item {
        padding: 10px 8px !important;
        gap: 8px !important;
        border-radius: 12px !important;
    }

    .bdg-term-content h4 {
        font-size: 12.5px !important;
    }

    .bdg-term-content p {
        font-size: 11px !important;
    }

    .bdg-modal-btn-primary {
        height: 40px !important;
        font-size: 12.5px !important;
        border-radius: 10px !important;
    }

    .bdg-modal-coin-wrap {
        width: 78px !important;
        height: 78px !important;
    }

    .bdg-modal-coin {
        width: 70px !important;
        height: 70px !important;
    }

    #bdg-detail-title {
        font-size: 16.5px !important;
    }

    #bdg-modal-req {
        font-size: 12px !important;
    }
}

/* Extra Small (<= 360px - including 335px) */
@media (max-width: 360px) {
    .bdg-page,
    .dm-my-badge-page {
        padding-top: 78px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        overflow-x: hidden !important;
    }

    .bdg-top-tabs {
        margin-bottom: 12px !important;
        padding: 2px !important;
        gap: 2px !important;
    }

    .bdg-tab-link {
        font-size: 11px !important;
        padding: 7px 3px !important;
        min-width: 0 !important;
    }

    .bdg-hero {
        padding: 14px 12px !important;
        border-radius: 14px !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
        width: 100% !important;
        min-height: 0 !important;
    }

    .bdg-hero h1 {
        font-size: 20px !important;
        margin-bottom: 4px !important;
    }

    .bdg-hero p {
        font-size: 11px !important;
    }

    .bdg-hero-content {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-height: 0 !important;
    }

    .bdg-hero-visual {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-height: 0 !important;
    }

    .bdg-hero-visual img {
        max-height: 105px !important;
    }

    .bdg-info-card {
        padding: 12px 10px !important;
        border-radius: 12px !important;
        gap: 8px !important;
        margin-bottom: 12px !important;
    }

    .bdg-info-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 16px !important;
    }

    .bdg-info-body h3 {
        font-size: 13px !important;
    }

    .bdg-info-body p {
        font-size: 10.5px !important;
    }

    .bdg-toolbar {
        padding-bottom: 4px !important;
        margin-bottom: 14px !important;
    }

    .bdg-toolbar::-webkit-scrollbar {
        height: 3px !important;
    }

    .bdg-filter-pill {
        padding: 5px 10px !important;
        font-size: 11px !important;
    }

    .bdg-pill-count {
        font-size: 9px !important;
        padding: 1px 4px !important;
    }

    /* Kartu Badge Presisi Gambar 2 pada layar <= 360px */
    .bdg-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .bdg-card {
        padding: 20px 16px 18px !important;
        border-radius: 18px !important;
    }

    .bdg-medal-stage {
        width: 82px !important;
        height: 82px !important;
        margin-bottom: 10px !important;
    }

    .bdg-coin {
        width: 76px !important;
        height: 76px !important;
    }

    .bdg-coin-pic {
        width: 76px !important;
        height: 76px !important;
        max-width: 76px !important;
        max-height: 76px !important;
    }

    .bdg-name {
        font-size: 14.5px !important;
        margin: 0 0 3px !important;
    }

    .bdg-req {
        font-size: 12.5px !important;
    }
}

/* ==========================================================================
   POPUP MODAL: Voucher Master Class + Sertifikasi BNSP (Dokter Mekanik Theme)
   ========================================================================== */

/* Dialog Backdrop & Container */
.mp-dialog.dm-popup-options {
    width: min(1060px, 95vw) !important;
    max-width: 1060px !important;
    border-radius: 20px !important;
    border: none !important;
    padding: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 25px 70px -15px rgba(50, 0, 0, 0.28), 0 0 0 1px rgba(212, 84, 0, 0.08) !important;
    overflow: hidden !important;
}

.mp-dialog.dm-popup-options::backdrop {
    background: rgba(30, 8, 4, 0.65) !important;
    backdrop-filter: blur(4px) !important;
}

.dm-popup-content {
    padding: 22px 28px 20px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    background: #ffffff !important;
}

/* Custom Sleek Scrollbar */
.dm-popup-content::-webkit-scrollbar {
    width: 6px !important;
}
.dm-popup-content::-webkit-scrollbar-track {
    background: #FDFBF8 !important;
}
.dm-popup-content::-webkit-scrollbar-thumb {
    background: #E2D9CF !important;
    border-radius: 4px !important;
}
.dm-popup-content::-webkit-scrollbar-thumb:hover {
    background: #D45400 !important;
}

/* Header Section */
.dm-popup-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    position: relative !important;
    margin-bottom: 16px !important;
    padding-bottom: 2px !important;
    gap: 16px !important;
}

.dm-popup-head-main {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    flex: 1 !important;
}

.dm-popup-icon-badge {
    width: 38px !important;
    height: 38px !important;
    background: #FFF0E6 !important;
    border: 1px solid #FFD8B2 !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    color: #D45400 !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.dm-popup-head-left {
    flex: 1 !important;
    max-width: 820px !important;
}

.dm-bnsp-badge-row {
    display: inline-flex !important;
    align-items: center !important;
    margin-bottom: 4px !important;
}

.dm-bnsp-logo-img {
    height: 34px !important;
    width: auto !important;
    object-fit: contain !important;
}

.dm-popup-title {
    font-size: 18.5px !important;
    font-weight: 700 !important;
    color: #1A0505 !important;
    margin: 2px 0 4px !important;
    letter-spacing: -0.2px !important;
    line-height: 1.3 !important;
}

.dm-popup-desc {
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* 3D Certificate Art & Close */
.dm-popup-head-right {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    position: relative !important;
}

.dm-cert-3d-wrap {
    width: 110px !important;
    height: 85px !important;
    position: relative !important;
    margin-top: -6px !important;
    margin-right: 4px !important;
    pointer-events: none !important;
}

.dm-cert-svg {
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
}

.dm-popup-close {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    border: 1px solid #E2E8F0 !important;
    background: #ffffff !important;
    color: #64748B !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 12px !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
}

.dm-popup-close:hover {
    background: #FFF7ED !important;
    color: #D45400 !important;
    border-color: #FED7AA !important;
}

/* Two Column Layout */
.dm-popup-body-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 22px !important;
    align-items: start !important;
}

/* Main Column (Pilih Skema) */
.dm-popup-main-col {
    display: flex !important;
    flex-direction: column !important;
}

.dm-col-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1A0505 !important;
    margin: 0 0 2px !important;
}

.dm-col-desc {
    font-size: 11.5px !important;
    color: #78655D !important;
    margin: 0 0 10px !important;
}

.dm-popup-options .dm-option-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
}

/* Option Card */
.dm-popup-options .mp-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    border: 1.5px solid #EDE5DD !important;
    border-radius: 11px !important;
    background: #FFFFFF !important;
    cursor: pointer !important;
    transition: all 0.16s ease !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* Alert Banner Poin Belum Cukup persis Gambar 4 */
.dm-popup-options .mp-options-alert {
    background: #FFFBEB !important;
    border: 1px solid #FDE68A !important;
    border-radius: 8px !important;
    color: #B45309 !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    padding: 10px 16px !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.5 !important;
}

.dm-popup-options .mp-option:hover {
    border-color: #FDBA74 !important;
    background: #FFFDFB !important;
}

.dm-popup-options .mp-option:has(input:checked) {
    border-color: #D45400 !important;
    background: #FFF9F5 !important;
    box-shadow: 0 0 0 1px #D45400 !important;
}

/* Radio Button in Option */
.dm-popup-options .mp-option input[type=radio] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 50% !important;
    outline: none !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: grid !important;
    place-content: center !important;
    flex: 0 0 auto !important;
    background: #ffffff !important;
    transition: border-color 0.16s ease !important;
}

.dm-popup-options .mp-option input[type=radio]::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    transform: scale(0) !important;
    transition: 100ms transform ease-in-out !important;
    background-color: #D45400 !important;
}

.dm-popup-options .mp-option input[type=radio]:checked {
    border-color: #D45400 !important;
}

.dm-popup-options .mp-option input[type=radio]:checked::before {
    transform: scale(1) !important;
}

/* Option Icon Box & Thumbnail */
.dm-popup-options .mp-option-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    flex: 0 0 44px !important;
}

.dm-popup-options .mp-option-thumb {
    width: 44px !important;
    height: 44px !important;
    border-radius: 6px !important;
    object-fit: cover !important;
    flex: 0 0 44px !important;
}

/* Option Body */
.dm-popup-options .mp-option-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.dm-popup-options .mp-option-body strong {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #1E293B !important;
    line-height: 1.3 !important;
}

.dm-popup-options .mp-option-body small {
    font-size: 11px !important;
    color: #64748B !important;
    line-height: 1.35 !important;
    display: block !important;
}

.dm-popup-options .mp-option-desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #94A3B8 !important;
}

/* Option Chevron */
.dm-popup-options .mp-option-go {
    color: #CBD5E1 !important;
    font-size: 12px !important;
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: color 0.16s ease, transform 0.16s ease !important;
}

.dm-popup-options .mp-option:has(input:checked) .mp-option-go {
    color: #D45400 !important;
    transform: translateX(1px) !important;
}

/* Picked item meta in summary card */
.dm-picked-title {
    color: #D45400 !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    display: block !important;
    line-height: 1.35 !important;
}

.dm-picked-sub {
    color: #64748B !important;
    font-size: 11px !important;
    display: block !important;
    margin-top: 2px !important;
}

/* Side Column (Cards) */
.dm-popup-side-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.dm-popup-card {
    border-radius: 11px !important;
    padding: 9px 12px !important;
    background: #FFFFFF !important;
    border: 1px solid #EDE5DD !important;
    box-shadow: 0 1px 4px rgba(50, 0, 0, 0.03) !important;
}

.dm-card-title {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #1A0505 !important;
    margin: 0 0 7px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.dm-card-icon {
    color: #D45400 !important;
}

/* Picked Scheme Item in Summary */
.dm-picked-wrap {
    margin: 0 0 7px !important;
    padding: 0 !important;
}

.dm-picked-item {
    background: #FFFDFB !important;
    border: 1px solid #FEE5D4 !important;
    border-radius: 8px !important;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.dm-picked-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    flex: 0 0 auto !important;
}

.dm-picked-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    min-width: 0 !important;
}

.dm-picked-meta strong {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #1A0505 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.dm-picked-meta small {
    font-size: 10px !important;
    color: #78655D !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
}

/* Summary Rows */
.dm-summary-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.dm-summary-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 10.5px !important;
    color: #78655D !important;
}

.dm-summary-row[hidden] {
    display: none !important;
}

.dm-summary-row strong,
.dm-row-val {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #1A0505 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* Gold Coin Badge */
.dm-coin-p {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 15px !important;
    height: 15px !important;
    border-radius: 50% !important;
    background: #F59E0B !important;
    border: 1.5px solid #FCD34D !important;
    color: #FFFFFF !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 1px 3px rgba(245, 158, 11, 0.3) !important;
}

/* Info Card (Warm Dokter Mekanik Orange Tint) */
.dm-info-card {
    background: #FFF7ED !important;
    border: 1px solid #FED7AA !important;
}

.dm-info-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-bottom: 3px !important;
}

.dm-info-icon {
    color: #D45400 !important;
    font-size: 12px !important;
}

.dm-info-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #C2410C !important;
    margin: 0 !important;
}

.dm-info-body p {
    font-size: 10px !important;
    color: #7C2D12 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Terms Card */
.dm-terms-card {
    background: #FFFFFF !important;
    border: 1px solid #EDE5DD !important;
}

.dm-terms-icon {
    color: #78350F !important;
}

.dm-terms-body ul {
    margin: 0 !important;
    padding-left: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.dm-terms-body li {
    font-size: 9.8px !important;
    color: #64748B !important;
    line-height: 1.35 !important;
}

/* Footer Actions */
.dm-popup-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid #F1E9DF !important;
}

.dm-btn-popup {
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 8px 22px !important;
    cursor: pointer !important;
    transition: all 0.16s ease !important;
    outline: none !important;
}

.dm-btn-cancel {
    background: #FFFFFF !important;
    border: 1.5px solid #CBD5E1 !important;
    color: #574035 !important;
}

.dm-btn-cancel:hover {
    background: #FDFBF8 !important;
    color: #1A0505 !important;
    border-color: #94A3B8 !important;
}

.dm-btn-submit {
    background: linear-gradient(135deg, #D45400 0%, #EA580C 100%) !important;
    border: none !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 10px rgba(212, 84, 0, 0.3) !important;
}

.dm-btn-submit:hover {
    background: linear-gradient(135deg, #B44300 0%, #D45400 100%) !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.4) !important;
}

.dm-btn-submit:disabled,
.dm-btn-submit.is-disabled {
    background: #CBD5E1 !important;
    color: #FFFFFF !important;
    border: none !important;
    opacity: 0.95 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

.dm-btn-submit.is-all-owned {
    background: #94A3B8 !important;
    color: #FFFFFF !important;
    border: none !important;
    opacity: 0.95 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

.dm-popup-options .mp-option.is-owned {
    opacity: 0.7 !important;
    background: #F8FAFC !important;
    border-color: #E2E8F0 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.dm-popup-options .mp-option.is-owned input[type=radio] {
    cursor: not-allowed !important;
    pointer-events: none !important;
    border-color: #CBD5E1 !important;
    background: #F1F5F9 !important;
}

.dm-terms-list {
    margin: 0 !important;
    padding-left: 15px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.dm-terms-list li {
    font-size: 10.5px !important;
    color: #64748B !important;
    line-height: 1.4 !important;
}

/* Responsive */
@media (max-width: 880px) {
    .dm-popup-head {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-right: 42px !important;
    }
    .dm-popup-close {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        margin: 0 !important;
        z-index: 10 !important;
    }
    .dm-cert-3d-wrap {
        display: none !important;
    }
    .dm-popup-body-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* ==========================================================================
   DASHBOARD SAYA - DOKTER MEKANIK REDESIGN (BISA AI REF GAMBAR 2)
   ========================================================================== */

@media (min-width: 1200px) {
    .col-xl-2-4 {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
}

.text-orange {
    color: #D45400 !important;
}

.text-warning-dark {
    color: #B45309 !important;
}

.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.fs-24 { font-size: 24px !important; }

/* ==========================================================================
   DASHBOARD SAYA - DOKTER MEKANIK (CLEAN LIGHT THEME - REF BISA AI GAMBAR 1 & 2)
   ========================================================================== */

@media (min-width: 1200px) {
    .col-xl-2-4 {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
}

.text-orange {
    color: #D45400 !important;
}

.text-warning-dark {
    color: #B45309 !important;
}

.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-17 { font-size: 17px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.fs-24 { font-size: 24px !important; }

/* 1. Hero Welcome Banner (Clean Executive Design - dr. Mekanik Style) */
.dm-dash-hero {
    position: relative !important;
    background: linear-gradient(135deg, #FFFFFF 0%, #FFFDF9 50%, #FFF8EE 100%) !important;
    border: 1px solid #FED7AA !important;
    border-left: 5px solid #D45400 !important;
    border-radius: 20px !important;
    padding: 28px 32px !important;
    box-shadow: 0 4px 20px rgba(212, 84, 0, 0.05) !important;
    overflow: hidden !important;
}

.badge-dot-live {
    width: 8px !important;
    height: 8px !important;
    background-color: #D45400 !important;
    border-radius: 50% !important;
    display: inline-block !important;
    box-shadow: 0 0 0 2px rgba(212, 84, 0, 0.25) !important;
    animation: dmPulseDot 2s infinite !important;
}

@keyframes dmPulseDot {
    0% { box-shadow: 0 0 0 0 rgba(212, 84, 0, 0.6); }
    70% { box-shadow: 0 0 0 6px rgba(212, 84, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(212, 84, 0, 0); }
}

.dm-dash-hero-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 4px 12px !important;
    background: #FFF7ED !important;
    border: 1px solid #FFEDD5 !important;
    border-radius: 999px !important;
    color: #D45400 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}

.dm-dash-hero-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 10px 0 !important;
}

.dm-dash-hero-desc {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 0 18px 0 !important;
    max-width: 680px !important;
}

.btn-dm-secondary {
    background: #FFFFFF !important;
    border: 1.5px solid #FED7AA !important;
    color: #C2410C !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 6px rgba(212, 84, 0, 0.06) !important;
    transition: all 0.2s ease !important;
}

.btn-dm-secondary:hover {
    background: #FFF7ED !important;
    border-color: #FDBA74 !important;
    color: #9A3412 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(212, 84, 0, 0.12) !important;
}

/* 2. Metric Stat Cards */
.dm-stat-card {
    position: relative !important;
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    height: 100% !important;
}

.dm-stat-card:hover {
    transform: translateY(-2px) !important;
    border-color: #D45400 !important;
    box-shadow: 0 8px 22px rgba(212, 84, 0, 0.08) !important;
}

.dm-stat-card-highlight {
    background: linear-gradient(180deg, #FFFDF8 0%, #FFFBEA 100%) !important;
    border: 1.5px solid #FFB402 !important;
}

.dm-stat-icon-wrap {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 21px !important;
    flex-shrink: 0 !important;
}

.dm-stat-info {
    flex-grow: 1 !important;
    min-width: 0 !important;
}

.dm-stat-value {
    font-family: 'Outfit', sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.dm-stat-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748B !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
}

.dm-stat-arrow {
    font-size: 13px !important;
    color: #CBD5E1 !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}

.dm-stat-card:hover .dm-stat-arrow {
    transform: translateX(2px) !important;
    color: #D45400 !important;
}

/* 3. Section: Statistik (Komposisi Pembelian & Progres Belajar - Ref Gambar 2) */
.dm-stats-panel {
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 18px !important;
    padding: 20px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
}

.dm-panel-icon-badge {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    flex-shrink: 0 !important;
}

.dm-donut-container {
    position: relative !important;
    width: 116px !important;
    height: 116px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.dm-donut-svg {
    transform: rotate(0deg) !important;
}

.dm-donut-center {
    position: absolute !important;
    text-align: center !important;
    pointer-events: none !important;
}

.dm-donut-number {
    font-family: 'Outfit', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1 !important;
    display: block !important;
}

.dm-donut-label {
    font-size: 9px !important;
    font-weight: 700 !important;
    color: #94A3B8 !important;
    letter-spacing: 0.06em !important;
    display: block !important;
    margin-top: 2px !important;
}

.dm-legend-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 3px !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

.dm-progress-num {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.1 !important;
    margin-bottom: 2px !important;
}

/* 4. Section: Menu Cepat (Ref Gambar 2) */
.dm-quick-menu-card {
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    height: 100% !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.dm-quick-menu-card:hover {
    transform: translateY(-2px) !important;
    border-color: #D45400 !important;
    box-shadow: 0 8px 22px rgba(212, 84, 0, 0.08) !important;
}

.dm-quick-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 19px !important;
    flex-shrink: 0 !important;
}

.dm-quick-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
}

.dm-quick-sub {
    font-size: 11px !important;
    color: #64748B !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* 5. Interactive Widgets Row */
.dm-clean-widget-card {
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.dm-clean-widget-card:hover {
    transform: translateY(-2px) !important;
    border-color: #D45400 !important;
    box-shadow: 0 10px 24px rgba(212, 84, 0, 0.09) !important;
}

.dm-clean-widget-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
}

/* 6. Lanjutkan Belajar & Pencapaian Terbaru */
.dm-continue-card {
    background: #FFFFFF !important;
    border: 1px solid #ECEFF2 !important;
    border-radius: 16px !important;
    padding: 14px 18px !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
}

.dm-continue-card:hover {
    transform: translateY(-2px) !important;
    border-color: #D45400 !important;
    box-shadow: 0 10px 24px rgba(212, 84, 0, 0.08) !important;
}

.dm-continue-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 11px !important;
    background: rgba(212, 84, 0, 0.1) !important;
    color: #D45400 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
}

.dm-activity-card {
    background: #FFFFFF !important;
    border: 1px solid #ECEFF2 !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
}

.dm-activity-item {
    background: #F8FAFC !important;
    border: 1px solid #EDF2F7 !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    transition: all 0.2s ease !important;
}

.dm-activity-item:hover {
    background: #FFFFFF !important;
    border-color: #E2E8F0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.dm-activity-dot {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    flex-shrink: 0 !important;
}

.dm-activity-footer {
    background: #FFFDF9 !important;
    border: 1px solid #FFE8CC !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Buttons */
.btn-dm-primary {
    background: linear-gradient(135deg, #D45400 0%, #EA580C 100%) !important;
    border: none !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 10px rgba(212, 84, 0, 0.22) !important;
    transition: all 0.18s ease !important;
}

.btn-dm-primary:hover,
.btn-dm-primary:focus {
    background: linear-gradient(135deg, #B44300 0%, #D45400 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.35) !important;
    transform: translateY(-1px) !important;
}

/* Sub-element styles for Continue & Activity Cards */
.dm-continue-title {
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 2px;
    font-size: 14px;
    font-family: 'Outfit', sans-serif;
    line-height: 1.35;
}

.dm-continue-badge {
    transition: all 0.2s ease;
}

.dm-continue-bottom {
    transition: all 0.2s ease;
}

.dm-activity-title {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    color: #1e293b;
    font-size: 12px;
}

.dm-activity-sub {
    font-size: 11px;
    color: #64748b;
}

.dm-activity-badge {
    font-size: 10px;
    font-weight: 700;
}

/* ========================================================
   RESPONSIVE DESIGN BREAKPOINTS: <= 850px, <= 414px, <= 360px
   ======================================================== */

/* 1. TABLET & NARROW DESKTOP (<= 850px) */
@media (max-width: 850px) {
    #dashboard-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* Hero Banner */
    .dm-dash-hero {
        padding: 20px 18px !important;
        border-radius: 16px !important;
    }
    .dm-dash-hero-title {
        font-size: 19px !important;
    }
    .dm-dash-hero-desc {
        font-size: 12.5px !important;
        margin-bottom: 14px !important;
    }
    .dm-hero-actions .btn {
        padding: 8px 16px !important;
        font-size: 12.5px !important;
    }

    /* Stat Cards */
    .dm-stat-card {
        padding: 11px 13px !important;
        min-height: 64px !important;
    }
    .dm-stat-icon-wrap {
        width: 36px !important;
        height: 36px !important;
        font-size: 16px !important;
        margin-right: 10px !important;
    }
    .dm-stat-value {
        font-size: 15px !important;
    }
    .dm-stat-label {
        font-size: 11px !important;
    }
    .dm-stat-arrow {
        display: none !important;
    }

    /* Section: Statistik (Komposisi Pembelian & Progres Belajar) */
    .dm-stats-panel {
        padding: 18px 16px !important;
        border-radius: 16px !important;
    }
    .dm-stats-panel h5 {
        font-size: 14.5px !important;
    }
    .dm-stats-panel small {
        font-size: 11.5px !important;
    }

    /* Interactive Widgets (Challenge, Leaderboard, Badge) */
    /* On 768px-850px, stack them cleanly so cards don't cramp into 150px */
    #dashboard-content .row.g-3.mb-4 > .col-md-4 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .dm-clean-widget-card {
        padding: 14px 16px !important;
        min-height: auto !important;
    }
    .dm-clean-widget-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
    }

    /* Continue & Activity Cards */
    .dm-continue-card {
        padding: 16px 18px !important;
    }
    .dm-continue-icon {
        width: 40px !important;
        height: 40px !important;
        font-size: 18px !important;
    }
    .dm-activity-card {
        padding: 16px 18px !important;
    }
    .dm-activity-item {
        padding: 9px 12px !important;
    }
    .dm-activity-dot {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
    }

    .dm-section-title {
        font-size: 14.5px !important;
    }
    .dm-section-link {
        font-size: 11.5px !important;
    }
}

/* 2. MOBILE VIEW (<= 414px - iPhone Plus/Max, Modern Android) */
@media (max-width: 414px) {
    #dashboard-content {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    /* Hero Banner */
    .dm-dash-hero {
        padding: 16px 14px !important;
        border-radius: 14px !important;
    }
    .dm-dash-hero-pill {
        font-size: 11px !important;
        padding: 4px 10px !important;
    }
    .dm-dash-hero-title {
        font-size: 17.5px !important;
    }
    .dm-dash-hero-desc {
        font-size: 12px !important;
        margin-bottom: 12px !important;
        line-height: 1.45 !important;
    }
    .dm-hero-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .dm-hero-actions .btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 9px 16px !important;
        font-size: 12.5px !important;
    }

    /* Section Headers */
    .dm-section-title {
        font-size: 13.5px !important;
    }
    .dm-section-title i {
        font-size: 15px !important;
    }
    .dm-section-link {
        font-size: 11px !important;
    }

    /* Continue Card (Lanjutkan Belajar) */
    .dm-continue-card {
        padding: 14px 14px !important;
        border-radius: 16px !important;
    }
    .dm-continue-icon {
        width: 36px !important;
        height: 36px !important;
        font-size: 16px !important;
        border-radius: 10px !important;
    }
    .dm-continue-title {
        white-space: normal !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 1.3 !important;
        font-size: 13px !important;
    }
    .dm-continue-badge {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }

    /* Stacking Progress & Button for clean mobile layout */
    .dm-continue-bottom {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding-top: 10px !important;
    }
    .dm-continue-progress {
        width: 100% !important;
        margin-right: 0 !important;
    }
    .dm-continue-bottom .btn-dm-primary {
        width: 100% !important;
        justify-content: center !important;
        padding: 8px 16px !important;
        font-size: 12px !important;
    }

    /* Activity Card (Pencapaian Terbaru) */
    .dm-activity-card {
        padding: 14px 14px !important;
        border-radius: 16px !important;
    }
    .dm-activity-item {
        padding: 8px 10px !important;
        border-radius: 10px !important;
    }
    .dm-activity-dot {
        width: 30px !important;
        height: 30px !important;
        font-size: 13px !important;
    }
    .dm-activity-title {
        font-size: 11.5px !important;
    }
    .dm-activity-sub {
        font-size: 10px !important;
    }
    .dm-activity-badge {
        font-size: 9.5px !important;
        padding: 2px 7px !important;
    }
    .dm-activity-footer {
        padding: 8px 12px !important;
        font-size: 10.5px !important;
    }

    /* Stat Cards */
    .dm-stat-card {
        padding: 10px 12px !important;
        border-radius: 12px !important;
        min-height: 58px !important;
    }
    .dm-stat-icon-wrap {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
        margin-right: 8px !important;
    }
    .dm-stat-value {
        font-size: 14.5px !important;
    }
    .dm-stat-label {
        font-size: 10.5px !important;
    }

    /* Section: Statistik */
    .dm-stats-panel {
        padding: 14px 12px !important;
        border-radius: 14px !important;
    }
    .dm-stats-panel h5 {
        font-size: 14px !important;
    }
    .dm-stats-panel small {
        font-size: 11px !important;
    }
    .dm-panel-icon-badge {
        width: 32px !important;
        height: 32px !important;
        font-size: 15px !important;
    }
    /* Donut chart + Legend stacked vertically on mobile */
    .dm-stats-panel .d-flex.align-items-center.gap-3.my-3 {
        flex-direction: column !important;
        align-items: center !important;
        gap: 14px !important;
    }
    .dm-donut-container {
        margin: 0 auto !important;
        width: 110px !important;
        height: 110px !important;
    }
    .dm-donut-container svg {
        width: 110px !important;
        height: 110px !important;
    }
    .dm-donut-number {
        font-size: 20px !important;
    }
    .dm-donut-label {
        font-size: 8.5px !important;
    }
    #dm-donut-legend-container {
        width: 100% !important;
        gap: 6px !important;
    }
    .dm-legend-item {
        padding: 4px 6px !important;
        border-radius: 6px !important;
        background: #F8FAFC !important;
    }
    /* Progres belajar mini stat cards */
    .dm-stats-panel .row.g-2\.5 {
        --bs-gutter-x: 0.5rem !important;
        --bs-gutter-y: 0.5rem !important;
    }
    .dm-stats-panel .row.g-2\.5 .col-6 > div {
        padding: 8px 10px !important;
        border-radius: 10px !important;
    }
    .dm-stats-panel .row.g-2\.5 .col-6 .fs-18 {
        font-size: 15px !important;
    }
    .dm-stats-panel .row.g-2\.5 .col-6 .fs-11 {
        font-size: 10px !important;
    }

    /* Interactive Widgets */
    .dm-clean-widget-card {
        padding: 12px 12px !important;
        border-radius: 12px !important;
        min-height: auto !important;
    }
    .dm-clean-widget-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
    }
}

/* 3. SMALL MOBILE VIEW (<= 360px - Compact Phones, Galaxy S mini) */
@media (max-width: 360px) {
    #dashboard-content {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    /* Hero Banner */
    .dm-dash-hero {
        padding: 14px 10px !important;
        border-radius: 12px !important;
    }
    .dm-dash-hero-title {
        font-size: 15.5px !important;
    }
    .dm-dash-hero-desc {
        font-size: 11px !important;
        margin-bottom: 10px !important;
    }
    .dm-hero-actions .btn {
        padding: 7px 10px !important;
        font-size: 11px !important;
    }

    /* Section Headers */
    .dm-section-title {
        font-size: 12.5px !important;
        gap: 5px !important;
    }
    .dm-section-title i {
        font-size: 14px !important;
    }
    .dm-section-link {
        font-size: 10px !important;
    }

    /* Continue Card */
    .dm-continue-card {
        padding: 12px 10px !important;
        border-radius: 14px !important;
    }
    .dm-continue-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 14px !important;
    }
    .dm-continue-title {
        font-size: 12px !important;
        line-height: 1.25 !important;
    }
    .dm-continue-badge {
        font-size: 9px !important;
        padding: 2px 6px !important;
    }
    .dm-continue-bottom {
        gap: 8px !important;
        padding-top: 8px !important;
    }
    .dm-continue-bottom .btn-dm-primary {
        padding: 7px 10px !important;
        font-size: 11px !important;
    }

    /* Activity Card */
    .dm-activity-card {
        padding: 12px 10px !important;
        border-radius: 14px !important;
    }
    .dm-activity-item {
        padding: 7px 8px !important;
        border-radius: 8px !important;
    }
    .dm-activity-dot {
        width: 26px !important;
        height: 26px !important;
        font-size: 12px !important;
    }
    .dm-activity-title {
        font-size: 11px !important;
    }
    .dm-activity-sub {
        font-size: 9.5px !important;
    }
    .dm-activity-badge {
        font-size: 9px !important;
        padding: 2px 5px !important;
    }
    .dm-activity-footer {
        padding: 6px 10px !important;
        font-size: 10px !important;
    }

    /* Stat Cards */
    .dm-stat-card {
        padding: 8px 8px !important;
        border-radius: 10px !important;
        min-height: 52px !important;
    }
    .dm-stat-icon-wrap {
        width: 26px !important;
        height: 26px !important;
        font-size: 12px !important;
        margin-right: 6px !important;
    }
    .dm-stat-value {
        font-size: 13px !important;
    }
    .dm-stat-label {
        font-size: 9px !important;
    }

    /* Section: Statistik */
    .dm-stats-panel {
        padding: 11px 9px !important;
        border-radius: 12px !important;
    }
    .dm-stats-panel h5 {
        font-size: 13px !important;
    }
    .dm-stats-panel small {
        font-size: 10px !important;
    }
    .dm-donut-container {
        width: 92px !important;
        height: 92px !important;
    }
    .dm-donut-container svg {
        width: 92px !important;
        height: 92px !important;
    }
    .dm-donut-number {
        font-size: 17px !important;
    }
    .dm-donut-label {
        font-size: 7.5px !important;
    }
    .dm-stats-panel .row.g-2\.5 .col-6 > div {
        padding: 6px 7px !important;
    }
    .dm-stats-panel .row.g-2\.5 .col-6 .fs-18 {
        font-size: 13px !important;
    }
    .dm-stats-panel .row.g-2\.5 .col-6 .fs-11 {
        font-size: 9px !important;
    }

    /* Interactive Widgets */
    .dm-clean-widget-card {
        padding: 10px 10px !important;
        border-radius: 10px !important;
        min-height: auto !important;
    }
    .dm-clean-widget-icon {
        width: 26px !important;
        height: 26px !important;
        font-size: 12px !important;
    }
}

/* Produk Fisik Terkunci: Gambar Agak Abu-abu & Lock Badge/Button */
.mp-reward-physical-locked .mp-reward-visual,
.mp-reward-physical-locked .mp-reward-cover,
.mp-reward-physical-locked .mp-visual-gift,
.mp-reward-physical-locked img {
    filter: grayscale(100%) !important;
    opacity: 0.65 !important;
    background: #F1F5F9 !important;
    transition: filter 0.2s ease, opacity 0.2s ease !important;
}

.mp-reward-physical-locked:hover {
    transform: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    border-color: #E2E8F0 !important;
}

.dm-locked-badge {
    background: rgba(30, 41, 59, 0.88) !important;
    color: #F8FAFC !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.dm-btn-locked {
    background: #F1F5F9 !important;
    color: #64748B !important;
    border: 1px solid #CBD5E1 !important;
    font-weight: 600 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    opacity: 0.85 !important;
}

/* ==========================================================================
   SweetAlert2 Pop-up Styling Khas dr. Mekanik (Outfit, Brand Colors, Confetti)
   ========================================================================== */
.dm-swal-popup.swal2-popup {
    border-radius: 24px !important;
    font-family: 'Outfit', sans-serif !important;
    padding: 28px 24px !important;
    box-shadow: 0 25px 60px -15px rgba(212, 84, 0, 0.2), 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid rgba(212, 84, 0, 0.12) !important;
    max-width: 480px !important;
    width: 92% !important;
}

.dm-swal-popup .swal2-icon {
    margin-top: 4px !important;
    margin-bottom: 16px !important;
}

.dm-swal-popup .swal2-icon.swal2-question {
    border-color: #F59E0B !important;
    color: #D45400 !important;
}

.dm-swal-popup .swal2-icon.swal2-success {
    border-color: #10B981 !important;
    color: #10B981 !important;
}

.dm-swal-popup .swal2-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    color: #1E293B !important;
    letter-spacing: -0.3px !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
}

.dm-swal-popup .swal2-html-container {
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    color: #475569 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
}

.dm-swal-popup .mp-swal-lead {
    font-size: 14.5px !important;
    color: #334155 !important;
    margin-bottom: 12px !important;
}

.dm-swal-popup .mp-swal-pick {
    background: #FFFBEB !important;
    border: 1.5px solid #FDE68A !important;
    color: #92400E !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
    border-radius: 14px !important;
    margin-bottom: 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.dm-swal-popup .mp-swal-rows {
    margin: 12px 0 0 !important;
    border-top: 1px dashed #E2E8F0 !important;
    padding-top: 4px !important;
    text-align: left !important;
}

.dm-swal-popup .mp-swal-rows > div {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 7px 2px !important;
    font-size: 13px !important;
    border-bottom: 1px dashed #F1F5F9 !important;
}

.dm-swal-popup .mp-swal-rows dt {
    font-weight: 500 !important;
    color: #64748B !important;
}

.dm-swal-popup .mp-swal-rows dd {
    font-weight: 700 !important;
    margin: 0 !important;
    font-size: 13.5px !important;
}

.dm-swal-popup .mp-swal-note {
    background: #FFF7ED !important;
    border-left: 3.5px solid #D45400 !important;
    color: #9A3412 !important;
    font-size: 12px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    margin-top: 14px !important;
    line-height: 1.5 !important;
    display: flex !important;
    gap: 8px !important;
    align-items: flex-start !important;
}

.dm-swal-popup .swal2-actions {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 22px !important;
    padding: 0 !important;
}

.dm-swal-popup .swal2-actions .mp-button {
    flex: 1 1 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 20px !important;
    border-radius: 999px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    border: none !important;
}

.dm-swal-popup .swal2-actions .mp-button-primary {
    background: linear-gradient(135deg, #D45400 0%, #FF7A1A 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(212, 84, 0, 0.28) !important;
}

.dm-swal-popup .swal2-actions .mp-button-primary:hover {
    background: linear-gradient(135deg, #B84600 0%, #E6660B 100%) !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 6px 18px rgba(212, 84, 0, 0.38) !important;
}

.dm-swal-popup .swal2-actions .mp-button-light {
    background: #F1F5F9 !important;
    border: 1px solid #CBD5E1 !important;
    color: #475569 !important;
}

.dm-swal-popup .swal2-actions .mp-button-light:hover {
    background: #E2E8F0 !important;
    color: #1E293B !important;
}