/* ONYX ICON PACK — ADDITIONAL SVG ICONS V3 */
.onyx-pack-icon-v1 {
    display:inline-block;
    width:20px;
    height:20px;
    flex:0 0 auto;
    object-fit:contain;
    object-position:center;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    vertical-align:middle;
    opacity:.98;
    filter:saturate(1.32) brightness(1.26) drop-shadow(0 0 6px rgba(238,47,207,.44));
    pointer-events:none;
    user-select:none;
}
.onyx-pack-icon-v1.is-nav { width:23px; height:23px; }
.onyx-pack-icon-v1.is-action { width:21px; height:21px; }
.onyx-pack-icon-v1.is-button { width:21px; height:21px; }
.onyx-pack-icon-v1.is-small { width:18px; height:18px; }
.onyx-pack-icon-v1.is-list { width:24px; height:24px; }
.onyx-pack-icon-v1.is-feature { width:34px; height:34px; }
.onyx-pack-icon-v1.is-balance { width:42px; height:42px; }
.onyx-pack-icon-v1.is-tariff { width:50px; height:50px; }
.onyx-pack-icon-v1.is-active-tariff { width:52px; height:52px; }

.onyx-legacy-icon-hidden-v2,
.onyx-legacy-icon-hidden-v3 { display:none !important; }

.onyx-text-icon-v2,
.onyx-text-icon-v3 {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center;
    gap:9px;
}
.onyx-text-icon-v2 > .onyx-pack-icon-v1,
.onyx-text-icon-v3 > .onyx-pack-icon-v1 { margin:0 !important; }

/* Icons on bright magenta/violet buttons must be white and clearly visible. */
.onyx-icon-on-primary-v3 > .onyx-pack-icon-v1,
.onyx-icon-on-primary-v3 .onyx-pack-icon-v1 {
    width:22px !important;
    height:22px !important;
    opacity:1 !important;
    filter:brightness(0) invert(1) drop-shadow(0 2px 4px rgba(42,0,55,.38)) !important;
}
.onyx-icon-on-primary-v3:hover > .onyx-pack-icon-v1,
.onyx-icon-on-primary-v3:hover .onyx-pack-icon-v1 {
    filter:brightness(0) invert(1) drop-shadow(0 2px 7px rgba(42,0,55,.48)) !important;
}

/* Bottom navigation remains neon, but gains better clarity against the dark dock. */
.nav-item > .onyx-pack-icon-v1.is-nav {
    display:block;
    margin:0 0 2px;
    filter:saturate(1.42) brightness(1.36) drop-shadow(0 0 7px rgba(229,32,133,.46));
}
.nav-item.active > .onyx-pack-icon-v1.is-nav {
    filter:saturate(1.52) brightness(1.52) drop-shadow(0 0 10px rgba(255,42,180,.70));
}

/* Existing controls already provide the glass tile. */
.onyx-refresh-button > .onyx-pack-icon-v1,
.notification-btn > .onyx-pack-icon-v1,
.header-back > .onyx-pack-icon-v1,
.onyx-icon-button > .onyx-pack-icon-v1,
.onyx-tariff-close > .onyx-pack-icon-v1,
.onyx-suite-close > .onyx-pack-icon-v1 {
    width:21px !important;
    height:21px !important;
    margin:0 !important;
    filter:saturate(1.38) brightness(1.38) drop-shadow(0 0 7px rgba(239,45,207,.52));
}
.onyx-refresh-button.is-refreshing > .onyx-pack-icon-v1,
.onyx-balance-refresh.is-refreshing > .onyx-pack-icon-v1 {
    animation:onyx-icon-v3-spin .72s linear infinite;
}
@keyframes onyx-icon-v3-spin { to { transform:rotate(360deg); } }

/* Feature and list icon holders. */
.onyx-faq-help-icon > .onyx-pack-icon-v1,
.support-icon > .onyx-pack-icon-v1 { width:34px !important; height:34px !important; }
.onyx-payment-method-icon > .onyx-pack-icon-v1 { width:25px !important; height:25px !important; }
.list-icon > .onyx-pack-icon-v1,
.sub-manage-item-icon > .onyx-pack-icon-v1 { width:24px !important; height:24px !important; }
.onyx-balance-visual-v2 > .onyx-pack-icon-v1 { width:42px !important; height:42px !important; }

/* Tariff icons remain clean glyphs, without a second raster tile. */
.onyx-tariff-icon.onyx-icon-slot-v2,
.onyx-active-plan-icon-v2 {
    display:grid !important;
    place-items:center !important;
    overflow:visible !important;
}
.onyx-tariff-icon.onyx-icon-slot-v2 > .onyx-pack-icon-v1 { width:50px !important; height:50px !important; }
.onyx-active-plan-icon-v2 > .onyx-pack-icon-v1 { width:52px !important; height:52px !important; }

.onyx-faq-search-icon.onyx-pack-search-v2 {
    width:20px !important;
    height:20px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
}

.onyx-balance-actions .onyx-pack-icon-v1 { width:19px !important; height:19px !important; }
.balance-link.onyx-text-icon-v2,
.balance-link.onyx-text-icon-v3 { justify-content:flex-start; gap:7px; }
.balance-link .onyx-pack-icon-v1 { width:18px !important; height:18px !important; }

/* The user asked to remove the rotating orbit only. Keep glow, float and sheen. */
.welcome-card .crystal-image::before {
    display:none !important;
    animation:none !important;
}

@media (max-width:520px) {
    .onyx-pack-icon-v1.is-nav { width:22px; height:22px; }
    .onyx-pack-icon-v1.is-action { width:20px; height:20px; }
    .onyx-pack-icon-v1.is-button { width:20px; height:20px; }
    .onyx-pack-icon-v1.is-list { width:23px; height:23px; }
    .onyx-pack-icon-v1.is-feature { width:31px; height:31px; }
    .onyx-pack-icon-v1.is-balance { width:38px; height:38px; }
    .onyx-pack-icon-v1.is-tariff { width:46px; height:46px; }
    .onyx-pack-icon-v1.is-active-tariff { width:48px; height:48px; }
    .onyx-faq-help-icon > .onyx-pack-icon-v1,
    .support-icon > .onyx-pack-icon-v1 { width:31px !important; height:31px !important; }
    .onyx-balance-visual-v2 > .onyx-pack-icon-v1 { width:38px !important; height:38px !important; }
    .onyx-icon-on-primary-v3 > .onyx-pack-icon-v1,
    .onyx-icon-on-primary-v3 .onyx-pack-icon-v1 { width:21px !important; height:21px !important; }
}

@media (prefers-reduced-motion:reduce) {
    .onyx-refresh-button.is-refreshing > .onyx-pack-icon-v1,
    .onyx-balance-refresh.is-refreshing > .onyx-pack-icon-v1 { animation:none; }
}

/* ONYX AUTH FEATURE HOVER STABILITY V4
   Prevents benefit cards from changing geometry after any unrelated hover/ripple. */
#auth-screen .onyx-auth-feature {
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    align-items:center !important;
    column-gap:11px !important;
    min-width:0 !important;
    min-height:66px !important;
    padding:12px 14px !important;
    transform:none !important;
    translate:none !important;
    scale:1 !important;
    overflow:hidden !important;
    transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}
#auth-screen .onyx-auth-feature:hover,
#auth-screen .onyx-auth-feature:focus-within,
#auth-screen .onyx-auth-feature:active {
    grid-template-columns:38px minmax(0,1fr) !important;
    column-gap:11px !important;
    transform:none !important;
    translate:none !important;
    scale:1 !important;
}
#auth-screen .onyx-auth-feature-icon,
#auth-screen .onyx-auth-feature:hover .onyx-auth-feature-icon,
#auth-screen .onyx-auth-feature:focus-within .onyx-auth-feature-icon {
    display:grid !important;
    place-items:center !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    flex:0 0 38px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:12px !important;
    font-size:18px !important;
    line-height:1 !important;
    transform:none !important;
    translate:none !important;
    scale:1 !important;
    transition:none !important;
}
#auth-screen .onyx-auth-feature > div {
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}
#auth-screen .onyx-auth-feature strong,
#auth-screen .onyx-auth-feature small {
    transform:none !important;
    translate:none !important;
    margin-left:0 !important;
}

@media (max-width:620px) {
    #auth-screen .onyx-auth-feature {
        grid-template-columns:38px minmax(0,1fr) !important;
        min-height:64px !important;
        padding:11px 12px !important;
    }
}


/* Crisp transparent SVG icons generated for the current Onyx UI. */
.onyx-pack-icon-v1.is-additional-icon { object-fit:contain!important; object-position:center!important; opacity:1!important; filter:saturate(1.15) brightness(1.08) drop-shadow(0 0 5px rgba(239,45,207,.38)); }
.list-icon > .onyx-pack-icon-v1.is-additional-icon,
.sub-manage-item-icon > .onyx-pack-icon-v1.is-additional-icon { width:25px!important; height:25px!important; }
.onyx-payment-method-icon > .onyx-pack-icon-v1.is-additional-icon { width:27px!important; height:27px!important; }
.onyx-faq-question-icon.onyx-icon-slot-v2 { overflow:hidden!important; padding:3px!important; }
.onyx-faq-question-icon > .onyx-pack-icon-v1.is-faq-question { width:28px!important; height:28px!important; margin:0!important; filter:saturate(1.18) brightness(1.12) drop-shadow(0 0 5px rgba(239,45,207,.42)); }
.onyx-icon-on-primary-v3 > .onyx-pack-icon-v1.is-additional-icon,
.onyx-icon-on-primary-v3 .onyx-pack-icon-v1.is-additional-icon { filter:brightness(0) invert(1) drop-shadow(0 2px 5px rgba(42,0,55,.42))!important; }
@media (max-width:520px) { .onyx-faq-question-icon > .onyx-pack-icon-v1.is-faq-question { width:27px!important; height:27px!important; } }
