:root {
    --premium-night: #061427;
    --premium-night-soft: #0b2440;
    --premium-sky: #63c9f4;
    --premium-sky-soft: rgba(99, 201, 244, 0.16);
    --premium-pearl: #f8fbfd;
    --premium-gold: #d9b86c;
    --premium-text: #13243a;
    --premium-muted: #708096;
    --premium-sidebar-width: 17rem;
    --premium-sidebar-compact: 6.5rem;
    --premium-topbar-height: 4.75rem;
}

body.premium-shell {
    min-height: 100%;
    background: #f4f7fa;
    color: var(--premium-text);
}

body.premium-shell .premium-return-link {
    display: inline-flex;
    min-height: 44px;
    padding: 0.65rem 1.1rem;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    border: 1px solid color-mix(in srgb, var(--premium-gold) 78%, transparent);
    border-radius: 14px;
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
    background: linear-gradient(160deg, var(--premium-night-soft), var(--premium-night));
    box-shadow: 0 12px 28px rgba(0, 5, 17, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.premium-shell .premium-return-link i {
    color: var(--premium-gold);
}

body.premium-shell .premium-return-link:hover {
    border-color: var(--premium-gold);
    color: #fff;
    box-shadow: 0 16px 34px rgba(0, 5, 17, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transform: translateY(-2px);
}

body.premium-shell .premium-return-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--premium-gold) 90%, transparent);
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-return-link {
        width: 100%;
        max-width: 100%;
        white-space: normal;
    }
}

body.premium-shell #wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: row;
    align-items: stretch;
    overflow-x: hidden;
}

body.premium-shell #wrapper #content-wrapper {
    min-width: 0;
    width: 100%;
    background: #f4f7fa;
}

.premium-sidebar-backdrop {
    position: fixed;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    background: rgba(3, 13, 27, 0.58);
    backdrop-filter: blur(2px);
    pointer-events: none;
    transition: opacity 180ms ease, visibility 180ms ease;
    z-index: 1035;
}

.premium-sidebar {
    position: relative;
    flex: 0 0 var(--premium-sidebar-width);
    width: var(--premium-sidebar-width) !important;
    min-height: 100vh;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% -4rem, rgba(99, 201, 244, 0.28), transparent 16rem),
        linear-gradient(165deg, #0b2948 0%, var(--premium-night) 44%, #040d1a 100%);
    box-shadow: 10px 0 32px rgba(3, 15, 29, 0.18);
    transition: width 180ms ease, flex-basis 180ms ease, transform 180ms ease;
    z-index: 1040;
}

.premium-sidebar::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(151, 224, 255, 0.75), transparent);
}

.premium-sidebar .premium-sidebar__brand {
    width: 100%;
    height: auto;
    min-height: 9.25rem;
    padding: 1.2rem 1rem 0.9rem;
    flex-direction: column;
    gap: 0.65rem;
    color: #fff;
    text-decoration: none;
}

.premium-sidebar__logo {
    display: block;
    width: 5.15rem;
    height: 5.15rem;
    flex: 0 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.22));
}

.premium-sidebar__brand-copy,
.premium-sidebar__brand-name,
.premium-sidebar__brand-subtitle {
    display: block;
}

.premium-sidebar__brand-copy {
    min-width: 0;
    text-align: center;
    line-height: 1.15;
}

.premium-sidebar__brand-name {
    color: #fff;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.115em;
    text-transform: uppercase;
}

.premium-sidebar__brand-subtitle {
    margin-top: 0.3rem;
    color: rgba(220, 241, 251, 0.72);
    font-size: 0.61rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.premium-sidebar__context {
    margin: 0 1.15rem 0.85rem;
    padding: 0.48rem 0.7rem;
    border: 1px solid rgba(217, 184, 108, 0.34);
    border-radius: 999px;
    color: #f1d797;
    background: rgba(217, 184, 108, 0.07);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-align: center;
    text-transform: uppercase;
}

.premium-sidebar .sidebar-divider {
    margin-right: 1.15rem;
    margin-left: 1.15rem;
    border-top-color: rgba(194, 224, 239, 0.12);
}

.premium-sidebar .sidebar-heading {
    padding: 0 1.35rem;
    color: rgba(207, 230, 242, 0.56);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.premium-sidebar .nav-item {
    position: relative;
    margin: 0.16rem 0.72rem;
}

.premium-sidebar .nav-item .nav-link {
    display: flex;
    width: auto;
    min-height: 2.85rem;
    margin: 0;
    padding: 0.72rem 0.85rem;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 0.72rem;
    color: rgba(232, 244, 250, 0.77);
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.25;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.premium-sidebar .nav-item .nav-link i {
    width: 1.35rem;
    margin-right: 0.68rem;
    flex: 0 0 1.35rem;
    color: rgba(126, 205, 239, 0.7);
    font-size: 0.94rem;
    text-align: center;
    transition: color 160ms ease;
}

body.premium-shell
    .premium-sidebar
    .nav-item
    > .nav-link
    > i {
    display: inline-flex;
    width: 1.25rem;
    min-width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.25rem;
    font-size: 0.95rem;
    line-height: 1;
    text-align: center;
}

.premium-sidebar .nav-item .nav-link .badge-counter {
    position: static;
    margin-left: auto;
    transform: none;
}

.premium-notification-count {
    display: inline-flex;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.28rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    font-size: 0.62rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
    white-space: nowrap;
}

.premium-sidebar .nav-item .nav-link .premium-notification-count {
    max-width: 2.3rem;
    margin-left: auto;
}

.premium-sidebar .nav-item .nav-link:hover {
    color: #fff;
    border-color: rgba(126, 205, 239, 0.15);
    background: rgba(99, 201, 244, 0.1);
    transform: translateX(2px);
}

.premium-sidebar .nav-item .nav-link:hover i {
    color: var(--premium-sky);
}

.premium-playlist-trigger {
    cursor: pointer;
}

.premium-playlist-dialog {
    width: min(31rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(99, 201, 244, 0.32);
    border-radius: 1.25rem;
    color: #edf8fd;
    background: transparent;
    box-shadow: 0 28px 80px rgba(2, 12, 24, 0.48);
}

.premium-playlist-dialog::backdrop {
    background: rgba(3, 13, 27, 0.72);
    backdrop-filter: blur(4px);
}

.premium-playlist-dialog__content {
    padding: 2rem;
    background:
        radial-gradient(circle at 50% -20%, rgba(99, 201, 244, 0.3), transparent 48%),
        linear-gradient(155deg, #0b2b4b 0%, var(--premium-night) 58%, #040e1c 100%);
    text-align: center;
}

.premium-playlist-dialog__logo {
    display: inline-flex;
    width: 4.75rem;
    height: 4.75rem;
    margin-bottom: 1rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(136, 218, 252, 0.26);
    border-radius: 50%;
    background: rgba(4, 18, 34, 0.58);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

.premium-playlist-dialog__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.premium-playlist-dialog__eyebrow {
    margin: 0 0 0.55rem;
    color: var(--premium-gold);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.premium-playlist-dialog__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.4rem, 4vw, 1.85rem);
    font-weight: 850;
    line-height: 1.2;
}

.premium-playlist-dialog__message {
    margin: 1rem auto 0;
    color: rgba(231, 246, 252, 0.88);
    font-size: 0.96rem;
    line-height: 1.65;
}

.premium-playlist-dialog__note {
    margin: 0.8rem auto 0;
    color: rgba(178, 217, 235, 0.74);
    font-size: 0.82rem;
    line-height: 1.55;
}

.premium-playlist-dialog__close {
    min-width: 9rem;
    margin-top: 1.5rem;
    padding: 0.72rem 1.3rem;
    border: 1px solid rgba(217, 184, 108, 0.72);
    border-radius: 999px;
    color: #07172a;
    background: linear-gradient(135deg, #f4dfa9, var(--premium-gold));
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 800;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.premium-playlist-dialog__close:hover {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
    transform: translateY(-1px);
}

.premium-playlist-dialog__close:focus-visible {
    outline: 3px solid rgba(99, 201, 244, 0.7);
    outline-offset: 3px;
}

.premium-sidebar .nav-item.active::before {
    position: absolute;
    top: 0.55rem;
    bottom: 0.55rem;
    left: -0.04rem;
    width: 3px;
    border-radius: 3px;
    content: "";
    background: var(--premium-gold);
    box-shadow: 0 0 10px rgba(217, 184, 108, 0.45);
}

.premium-sidebar .nav-item.active > .nav-link {
    color: #fff;
    border-color: rgba(111, 210, 250, 0.22);
    background: var(--premium-sky-soft);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.premium-sidebar .nav-item.active > .nav-link i {
    color: #8edcff;
}

.premium-sidebar .nav-item .collapse-inner {
    margin: 0.35rem 0.2rem 0.6rem;
    padding: 0.35rem;
    border: 1px solid rgba(125, 200, 232, 0.12);
    background: rgba(2, 12, 24, 0.42);
    box-shadow: none;
}

.premium-sidebar .collapse-inner .collapse-item {
    margin: 0.1rem 0;
    padding: 0.62rem 0.75rem 0.62rem 2.3rem;
    border-radius: 0.5rem;
    color: rgba(226, 241, 248, 0.72);
    font-size: 0.79rem;
    white-space: normal;
}

.premium-sidebar .collapse-inner .collapse-item:hover,
.premium-sidebar .collapse-inner .collapse-item:focus,
.premium-sidebar .collapse-inner .collapse-item.active {
    color: #fff;
    background: rgba(99, 201, 244, 0.13);
}

.premium-sidebar__scroll {
    flex: 1 1 auto;
    min-height: 0;
}

.premium-sidebar--admin {
    min-height: 100vh;
    height: auto;
    align-self: stretch;
    position: relative;
    top: auto;
}

.premium-sidebar--admin .premium-sidebar__scroll {
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-color: rgba(113, 199, 235, 0.38) transparent;
    scrollbar-width: thin;
}

.premium-sidebar--admin .premium-sidebar__scroll::-webkit-scrollbar {
    width: 5px;
}

.premium-sidebar--admin .premium-sidebar__scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(113, 199, 235, 0.38);
}

.premium-sidebar__toggle {
    padding: 0.75rem 0 1rem;
    flex: 0 0 auto;
}

.premium-sidebar #sidebarToggle {
    border: 1px solid rgba(139, 214, 246, 0.2) !important;
    background-color: rgba(99, 201, 244, 0.12);
}

.premium-sidebar #sidebarToggle:hover,
.premium-sidebar #sidebarToggle:focus-visible {
    background-color: rgba(99, 201, 244, 0.22);
    box-shadow: 0 0 0 3px rgba(99, 201, 244, 0.16);
}

.premium-topbar {
    --premium-topbar-control-size: 2.85rem;
    --premium-topbar-night: #071328;
    --premium-topbar-electric: #5ccaff;
    --premium-topbar-focus: #8cddff;
    --premium-topbar-gold: #f5d993;
    position: relative;
    display: flex;
    min-height: 4.65rem;
    padding: 0 1rem;
    align-items: center;
    gap: 0.75rem;
    overflow: visible;
    border: 1px solid rgba(245, 217, 147, 0.28);
    border-radius: 0 0 1.1rem 1.1rem;
    background:
        radial-gradient(circle at 14% -40%, rgba(92, 202, 255, 0.2), transparent 26rem),
        linear-gradient(105deg, #030916 0%, #071328 58%, #0d3154 100%);
    box-shadow: 0 12px 34px rgba(3, 9, 22, 0.26), 0 1px 0 rgba(92, 202, 255, 0.08);
    backdrop-filter: blur(14px);
    z-index: 1050;
}

.premium-topbar__menu,
.premium-topbar__emblem,
.premium-topbar__notification {
    width: var(--premium-topbar-control-size) !important;
    min-width: var(--premium-topbar-control-size);
    max-width: var(--premium-topbar-control-size);
    height: var(--premium-topbar-control-size) !important;
    min-height: var(--premium-topbar-control-size);
    max-height: var(--premium-topbar-control-size);
    flex: 0 0 var(--premium-topbar-control-size);
    border: 1px solid rgba(245, 217, 147, 0.62);
    border-radius: 50%;
    background: linear-gradient(145deg, #0d3154, #071328);
    box-shadow: 0 7px 18px rgba(6, 20, 39, 0.22);
}

.premium-topbar__menu,
.premium-topbar__notification {
    display: inline-flex;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    color: #efd89f;
}

.premium-topbar__menu {
    margin-right: 0;
    transition: color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.premium-topbar__brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.72rem;
}

.premium-topbar__emblem {
    display: inline-flex;
    padding: 0.28rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.premium-topbar__emblem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.premium-topbar__title {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.15;
}

.premium-topbar__eyebrow {
    color: var(--premium-topbar-gold);
    font-size: 0.94rem;
    font-weight: 900;
    letter-spacing: 0.095em;
    text-transform: uppercase;
}

.premium-topbar__section {
    margin-top: 0.25rem;
    color: #f8fbff;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.premium-topbar__actions {
    display: flex;
    min-width: 0;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    overflow: visible;
}

.premium-topbar__actions > .nav-item {
    flex: 0 0 auto;
}

.premium-topbar,
.premium-topbar__actions,
.premium-topbar__actions > .nav-item {
    overflow: visible;
}

.premium-topbar .nav-link {
    position: relative;
}

.premium-topbar__notification {
    position: relative;
    width: 3rem !important;
    min-width: 3rem;
    max-width: 3rem;
    height: 3rem !important;
    min-height: 3rem;
    max-height: 3rem;
    overflow: visible;
    color: var(--premium-topbar-gold);
    background: linear-gradient(145deg, #0d3154, #071328);
    transition: color 260ms ease, border-color 260ms ease, box-shadow 280ms ease, transform 260ms ease, background-color 260ms ease;
}

body.premium-shell .premium-topbar .premium-topbar__notification > i {
    color: var(--premium-topbar-gold);
    font-size: 1.25rem;
    line-height: 1;
    transition: color 260ms ease;
}

.premium-topbar__menu:hover,
.premium-topbar__emblem:hover,
.premium-topbar__notification:hover,
.premium-topbar__profile:hover,
.premium-topbar__menu:focus-visible,
.premium-topbar__emblem:focus-visible,
.premium-topbar__notification:focus-visible,
.premium-topbar__profile:focus-visible {
    color: #fff1c9;
    border-color: var(--premium-topbar-gold);
    background: color-mix(in srgb, var(--premium-topbar-electric) 26%, var(--premium-topbar-night));
    box-shadow: 0 9px 22px rgba(6, 20, 39, 0.27), 0 0 0 3px rgba(92, 202, 255, 0.15), 0 0 24px rgba(92, 202, 255, 0.2);
    transform: translateY(-1px);
}

body.premium-shell .premium-topbar .premium-topbar__notification:hover > i,
body.premium-shell .premium-topbar .premium-topbar__notification:focus-visible > i {
    color: var(--premium-topbar-focus);
}

.premium-topbar__emblem:focus-visible,
.premium-topbar__notification:focus-visible,
.premium-topbar__profile:focus-visible {
    outline: 3px solid var(--premium-topbar-focus);
    outline-offset: 3px;
}

.premium-topbar__notification.show,
.premium-topbar__notification[aria-expanded="true"] {
    color: #f6e6b8 !important;
    border-color: var(--premium-topbar-gold);
    background: color-mix(in srgb, var(--premium-topbar-electric) 34%, var(--premium-topbar-night));
    box-shadow: 0 8px 20px rgba(6, 20, 39, 0.28), 0 0 0 3px rgba(92, 202, 255, 0.15), 0 0 24px rgba(92, 202, 255, 0.2);
}

.premium-topbar__notification.show i,
.premium-topbar__notification[aria-expanded="true"] i {
    color: var(--premium-topbar-focus) !important;
    opacity: 1;
}

.premium-topbar__notification .premium-notification-count {
    position: absolute;
    top: -0.3rem;
    right: -0.42rem;
    min-width: 1.35rem;
    max-width: 2.4rem;
    height: 1.35rem;
    padding: 0 0.3rem;
    border: 2px solid var(--premium-topbar-night);
    border-radius: 999px;
    color: #fff !important;
    background: #b92336 !important;
    box-shadow: 0 3px 9px rgba(45, 8, 17, 0.34);
    font-size: 0.58rem;
    font-weight: 800;
    line-height: 1;
    transform: none;
    z-index: 3;
}

.premium-topbar .topbar-divider {
    height: 2.3rem;
    margin: auto 0.85rem;
    border-right-color: rgba(245, 217, 147, 0.24);
}

.premium-topbar__logout-item {
    display: none;
}

.premium-topbar__logout {
    position: relative;
    display: inline-flex;
    width: auto;
    min-height: 44px;
    padding: 0.58rem 0.9rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    border: 1px solid rgba(245, 217, 147, 0.62);
    border-radius: 999px;
    color: #f8fbff;
    background: linear-gradient(145deg, #0d3154, #071328);
    box-shadow: 0 7px 18px rgba(3, 9, 22, 0.24);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1;
    white-space: nowrap;
    transition: color 180ms ease, border-color 180ms ease, box-shadow 220ms ease, transform 180ms ease, background-color 180ms ease;
}

.premium-topbar__logout i {
    color: var(--premium-topbar-gold);
}

.premium-topbar__logout:hover {
    color: #fff;
    border-color: var(--premium-topbar-gold);
    background: color-mix(in srgb, var(--premium-topbar-electric) 28%, var(--premium-topbar-night));
    box-shadow: 0 9px 22px rgba(3, 9, 22, 0.28), 0 0 0 3px rgba(92, 202, 255, 0.15), 0 0 22px rgba(92, 202, 255, 0.18);
    transform: translateY(-1px);
}

.premium-topbar__logout:focus-visible {
    color: #fff;
    border-color: var(--premium-topbar-gold);
    outline: 3px solid var(--premium-topbar-focus);
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(245, 217, 147, 0.2), 0 0 22px rgba(92, 202, 255, 0.2);
}

.premium-topbar__logout:active {
    transform: translateY(0);
}

.premium-topbar__profile {
    display: flex;
    min-width: 0;
    max-width: 100%;
    min-height: var(--premium-topbar-control-size) !important;
    height: var(--premium-topbar-control-size) !important;
    max-height: var(--premium-topbar-control-size);
    padding: 0 0.55rem 0 0.38rem;
    align-items: center;
    column-gap: 0.55rem;
    border: 1px solid rgba(245, 217, 147, 0.62);
    border-radius: 999px;
    color: #f2f8fb;
    background: linear-gradient(145deg, #0d3154, #071328);
    box-shadow: 0 7px 18px rgba(6, 20, 39, 0.22);
    text-decoration: none;
    transition: color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.premium-shell .premium-topbar .nav-item.show > .premium-topbar__profile,
body.premium-shell .premium-topbar .premium-topbar__profile.show,
body.premium-shell .premium-topbar .premium-topbar__profile[aria-expanded="true"] {
    color: #fff;
    border-color: var(--premium-topbar-gold);
    background: color-mix(in srgb, var(--premium-topbar-electric) 34%, var(--premium-topbar-night));
    box-shadow: 0 8px 20px rgba(6, 20, 39, 0.27), 0 0 0 3px rgba(92, 202, 255, 0.15), 0 0 24px rgba(92, 202, 255, 0.2);
    transform: translateY(-1px);
}

body.premium-shell
    .premium-topbar
    .nav-item.no-arrow
    .premium-topbar__profile::after {
    display: inline-block;
    width: 0.46rem;
    height: 0.46rem;
    margin: -0.18rem 0.45rem 0 0.65rem;
    flex: 0 0 0.46rem;
    border: 0;
    border-right: 2px solid #f5d993;
    border-bottom: 2px solid #f5d993;
    content: "";
    transform: rotate(45deg);
}

.premium-topbar__username {
    max-width: 12rem;
    margin-right: 0.25rem;
    overflow: hidden;
    color: #eef8fc;
    font-size: 0.82rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.premium-topbar .premium-topbar__avatar,
.premium-topbar__avatar-fallback {
    width: 2.15rem;
    min-width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 2.15rem;
    border: 1px solid rgba(245, 217, 147, 0.9);
    box-shadow: 0 0 0 1px rgba(6, 20, 39, 0.3), 0 5px 14px rgba(3, 13, 27, 0.28);
    object-fit: cover;
}

.premium-topbar__avatar-fallback {
    display: none;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(145deg, #1979a8, #0b3e68);
    font-size: 1rem;
    font-weight: 800;
}

.premium-dropdown {
    position: absolute;
    margin-top: 0.65rem;
    overflow: hidden;
    border: 1px solid rgba(245, 217, 147, 0.58);
    border-radius: 0.85rem;
    background: linear-gradient(155deg, #0d3154, #071328 72%);
    box-shadow: 0 18px 42px rgba(3, 9, 22, 0.38), 0 0 0 1px rgba(92, 202, 255, 0.08) !important;
    z-index: 1060;
}

.premium-topbar .premium-dropdown .dropdown-header {
    padding: 0.85rem 1rem;
    border: 0;
    background: linear-gradient(135deg, #071328, #0d3154);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.premium-dropdown .dropdown-item {
    min-height: 44px;
    border-color: rgba(245, 217, 147, 0.12);
    color: #f8fbff;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.premium-dropdown .dropdown-item:hover,
.premium-dropdown .dropdown-item:focus,
.premium-dropdown .dropdown-item.active,
.premium-dropdown .dropdown-item:active {
    border-color: rgba(140, 221, 255, 0.72);
    color: #fff;
    background: color-mix(in srgb, #5ccaff 42%, #071328);
    box-shadow: inset 0 0 0 1px rgba(245, 217, 147, 0.42), 0 0 18px rgba(92, 202, 255, 0.14);
}

.premium-dropdown .dropdown-item:focus-visible {
    outline: 2px solid #8cddff;
    outline-offset: -3px;
}

.premium-notifications,
.premium-user-menu {
    width: min(24rem, calc(100vw - 1.5rem));
    min-width: 0;
    max-width: calc(100vw - 1.5rem);
    margin-top: 0;
}

@media (min-width: 768px) {
    .premium-notifications,
    .premium-user-menu {
        top: calc(100% + 2rem) !important;
        right: 0 !important;
        left: auto !important;
        transform: none !important;
    }
}

.premium-notifications .dropdown-item {
    white-space: normal;
}

.premium-notifications__icon {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(245, 217, 147, 0.3);
    color: #f5d993;
    background: rgba(92, 202, 255, 0.1);
}

.premium-notifications__icon i,
.premium-notifications__icon .text-primary,
.premium-notifications__icon .text-muted {
    color: #f5d993 !important;
}

.premium-notifications .text-gray-500,
.premium-notifications .text-muted {
    color: #b6c9dc !important;
}

.premium-notifications__copy {
    min-width: 0;
}

.premium-dropdown__footer {
    padding: 0.8rem 1rem;
    color: #8cddff;
    font-weight: 700;
}

.premium-user-menu__heading {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid rgba(245, 217, 147, 0.18);
    color: #f8fbff;
    line-height: 1.3;
}

.premium-user-menu__label {
    display: block;
    margin-bottom: 0.2rem;
    color: #b6c9dc;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.premium-user-menu .dropdown-item i {
    color: #f5d993;
}

.premium-user-menu .dropdown-divider {
    border-top-color: rgba(245, 217, 147, 0.18);
}

.premium-profile-file {
    min-width: 0;
    max-width: 100%;
}

.premium-profile-file__input {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    font-size: 0.86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.premium-profile-file__input::file-selector-button {
    max-width: 100%;
    margin-right: 0.65rem;
}

.premium-sidebar a:focus-visible,
.premium-sidebar button:focus-visible,
.premium-topbar a:focus-visible,
.premium-topbar button:focus-visible {
    outline: 3px solid rgba(99, 201, 244, 0.45);
    outline-offset: 2px;
}

@media (min-width: 1200px) {
    .premium-topbar__logout-item {
        display: block;
    }

    .premium-user-menu__logout {
        display: none;
    }

    .premium-sidebar.toggled {
        flex-basis: 0;
        width: 0 !important;
        box-shadow: none;
        pointer-events: none;
    }

    .premium-sidebar.toggled .premium-sidebar__brand {
        min-height: 6.8rem;
        padding-right: 0.45rem;
        padding-left: 0.45rem;
    }

    .premium-sidebar.toggled .premium-sidebar__logo {
        width: 3.9rem;
        height: 3.9rem;
    }

    .premium-sidebar.toggled .premium-sidebar__brand-copy,
    .premium-sidebar.toggled .premium-sidebar__context,
    .premium-sidebar.toggled .sidebar-heading,
    .premium-sidebar.toggled .nav-link span:not(.badge-counter) {
        display: none;
    }

    .premium-sidebar.toggled .nav-item {
        margin-right: 0.6rem;
        margin-left: 0.6rem;
    }

    .premium-sidebar.toggled .nav-item .nav-link {
        width: auto;
        padding: 0.8rem;
        align-items: center;
        justify-content: center;
    }

    .premium-sidebar.toggled .nav-item .nav-link i {
        font-size: 1.05rem;
    }

    .premium-sidebar.toggled .nav-item .nav-link > i {
        margin: 0 auto;
    }

    .premium-sidebar.toggled .nav-item .nav-link .badge-counter {
        position: absolute;
        top: 0.2rem;
        right: 0.2rem;
    }

    .premium-sidebar.toggled .nav-item .nav-link .premium-notification-count {
        min-width: 1.15rem;
        max-width: 1.8rem;
        height: 1.15rem;
        margin: 0;
        padding: 0 0.18rem;
        font-size: 0.54rem;
    }
}

.premium-logout-dialog {
    width: min(31rem, calc(100vw - 1.5rem));
    max-width: none;
    padding: 0;
    overflow: visible;
    border: 1px solid rgba(239, 216, 159, 0.5);
    border-radius: 1.35rem;
    color: #eef8fc;
    background: transparent;
    box-shadow: 0 28px 80px rgba(2, 13, 26, 0.46);
}

.premium-logout-dialog::backdrop {
    background: rgba(2, 13, 26, 0.72);
    backdrop-filter: blur(7px);
}

.premium-logout-dialog__panel {
    position: relative;
    padding: 2.25rem;
    overflow: hidden;
    border-radius: inherit;
    text-align: center;
    background:
        radial-gradient(circle at 50% -12%, rgba(71, 190, 239, 0.3), transparent 42%),
        linear-gradient(145deg, #0b3458 0%, #071f38 58%, #06172b 100%);
}

.premium-logout-dialog__panel::after {
    position: absolute;
    right: 1.4rem;
    bottom: 1rem;
    left: 1.4rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(239, 216, 159, 0.64), transparent);
    content: "";
}

.premium-logout-dialog__logo {
    display: inline-flex;
    width: 4.8rem;
    height: 4.8rem;
    margin-bottom: 1rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(239, 216, 159, 0.6);
    border-radius: 50%;
    background: rgba(4, 21, 39, 0.42);
    box-shadow: 0 10px 28px rgba(2, 13, 26, 0.32);
}

.premium-logout-dialog__logo img {
    width: 78%;
    height: 78%;
    object-fit: contain;
}

.premium-logout-dialog__eyebrow {
    margin: 0 0 0.55rem;
    color: #efd89f;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.premium-logout-dialog h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.45rem, 4vw, 2rem);
    font-weight: 800;
}

.premium-logout-dialog__panel > p:not(.premium-logout-dialog__eyebrow) {
    max-width: 25rem;
    margin: 0.85rem auto 0;
    color: #c8dce8;
    line-height: 1.6;
}

.premium-logout-dialog__close {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(239, 216, 159, 0.32);
    border-radius: 50%;
    color: #e8f4fa;
    background: rgba(3, 18, 34, 0.5);
    font-size: 1.4rem;
}

.premium-logout-dialog__actions {
    display: flex;
    margin-top: 1.7rem;
    justify-content: center;
    gap: 0.75rem;
}

.premium-logout-dialog__form {
    margin: 0;
}

.premium-logout-dialog__cancel,
.premium-logout-dialog__confirm {
    min-height: 2.9rem;
    padding: 0.7rem 1.15rem;
    border-radius: 999px;
    font-weight: 800;
}

.premium-logout-dialog__cancel {
    border: 1px solid rgba(200, 220, 232, 0.42);
    color: #e8f4fa;
    background: rgba(255, 255, 255, 0.07);
}

.premium-logout-dialog__confirm {
    border: 1px solid #efd89f;
    color: #071b31;
    background: linear-gradient(135deg, #f3dfa6, #d3a84f);
    box-shadow: 0 8px 20px rgba(211, 168, 79, 0.24);
}

.premium-logout-dialog button:focus-visible {
    outline: 3px solid rgba(99, 201, 244, 0.76);
    outline-offset: 3px;
}

@media (max-width: 1199.98px) {
    body.premium-shell.premium-sidebar-open {
        overflow: hidden;
    }

    body.premium-shell.premium-sidebar-open .premium-sidebar-backdrop {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        z-index: 1051;
    }

    .premium-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        flex-basis: auto;
        width: min(var(--premium-sidebar-width), 84vw) !important;
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        max-height: none;
        overscroll-behavior: contain;
        transform: translateX(-105%);
        box-shadow: 14px 0 42px rgba(2, 13, 26, 0.3);
        z-index: 1055;
    }

    .premium-sidebar.toggled {
        width: min(var(--premium-sidebar-width), 84vw) !important;
        overflow-x: hidden;
        overflow-y: auto;
        transform: translateX(0);
    }

    .premium-sidebar--user,
    .premium-sidebar--admin {
        height: 100vh;
        height: 100dvh;
        max-height: none;
        overscroll-behavior: contain;
        overflow-y: auto;
    }

    .premium-sidebar--admin .premium-sidebar__scroll {
        overflow: visible;
    }
}

@media (max-width: 767.98px) {
    .premium-topbar {
        min-height: 4.35rem;
        margin-bottom: 1.25rem !important;
        padding: 0 0.72rem;
        gap: 0.5rem;
        border-radius: 0 0 0.9rem 0.9rem;
    }

    .premium-topbar__brand {
        gap: 0;
    }

    .premium-topbar__title,
    .premium-topbar__username,
    .premium-topbar .topbar-divider {
        display: none !important;
    }

    .premium-topbar__actions {
        min-width: 0;
        gap: 0.45rem;
    }

    .premium-topbar__profile {
        padding-right: 0.48rem;
    }

    .premium-notifications,
    .premium-user-menu {
        position: fixed !important;
        top: calc(4.25rem + 0.65rem) !important;
        right: 0.75rem !important;
        left: 0.75rem !important;
        width: auto !important;
        min-width: 0;
        max-width: none;
        margin: 0;
        transform: none !important;
    }
}

@media (max-width: 575.98px) {
    .premium-logout-dialog__panel {
        padding: 2rem 1.2rem 1.6rem;
    }

    .premium-logout-dialog__actions {
        flex-direction: column-reverse;
    }

    .premium-logout-dialog__form,
    .premium-logout-dialog__cancel,
    .premium-logout-dialog__confirm {
        width: 100%;
    }

    .premium-playlist-dialog__content {
        padding: 1.5rem 1.2rem;
    }

    .premium-playlist-dialog__logo {
        width: 4.1rem;
        height: 4.1rem;
    }

    .premium-profile-file__input {
        font-size: 0.76rem;
    }
}

@media (max-width: 374.98px) {
    .premium-topbar {
        --premium-topbar-control-size: 2.75rem;
        padding-inline: 0.5rem;
    }

    .premium-topbar .premium-topbar__avatar,
    .premium-topbar__avatar-fallback {
        width: 2rem;
        min-width: 2rem;
        height: 2rem;
        flex-basis: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-sidebar-backdrop,
    .premium-sidebar,
    .premium-sidebar .nav-item .nav-link,
    .premium-sidebar .nav-item .nav-link i,
    .premium-topbar__profile,
    .premium-topbar__menu,
    .premium-topbar__emblem,
    .premium-topbar__notification,
    .premium-topbar__logout {
        transition: none;
    }

    .premium-playlist-dialog__close {
        transition: none;
    }

    .animated--grow-in {
        animation: none;
    }
}
/* === PREMIUM APPLICATION UI FOUNDATION === */

:root {
    --premium-canvas: #f3f7fa;
    --premium-surface: rgba(255, 255, 255, 0.96);
    --premium-surface-soft: #f8fbfd;
    --premium-border: rgba(18, 65, 95, 0.11);
    --premium-border-strong: rgba(18, 65, 95, 0.18);
    --premium-radius-sm: 0.8rem;
    --premium-radius-md: 1.1rem;
    --premium-radius-lg: 1.45rem;
    --premium-shadow-soft: 0 12px 34px rgba(8, 35, 57, 0.08);
    --premium-shadow-panel: 0 18px 48px rgba(8, 35, 57, 0.11);
    --premium-content-width: 96rem;
    --premium-content-gutter: clamp(1rem, 2.4vw, 2.25rem);
}

body.premium-shell .premium-main-content {
    width: 100%;
    min-width: 0;
    padding: 0 var(--premium-content-gutter) 3rem;
    outline: none;
}

body.premium-shell .premium-page {
    width: min(100%, var(--premium-content-width));
    margin: 0 auto;
}

body.premium-shell .premium-page--narrow {
    width: min(100%, 74rem);
}

body.premium-shell .premium-page--reading {
    width: min(100%, 60rem);
}

body.premium-shell .premium-page__header {
    display: flex;
    margin-bottom: clamp(1.25rem, 2.4vw, 2rem);
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
}

body.premium-shell .premium-page__heading {
    min-width: 0;
}

body.premium-shell .premium-page__eyebrow {
    margin: 0 0 0.4rem;
    color: #a47b2a;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.premium-shell .premium-page__title {
    margin: 0;
    color: var(--premium-text);
    font-size: clamp(1.65rem, 3vw, 2.45rem);
    font-weight: 850;
    letter-spacing: -0.035em;
    line-height: 1.12;
}

body.premium-shell .premium-page__description {
    max-width: 48rem;
    margin: 0.65rem 0 0;
    color: var(--premium-muted);
    font-size: 0.96rem;
    line-height: 1.7;
}

body.premium-shell .premium-page__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    flex-wrap: wrap;
}

body.premium-shell .premium-section {
    margin-top: clamp(1.25rem, 2vw, 2rem);
}

body.premium-shell .premium-section:first-child {
    margin-top: 0;
}

body.premium-shell .premium-section__heading {
    display: flex;
    margin-bottom: 0.9rem;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

body.premium-shell .premium-section__title {
    margin: 0;
    color: var(--premium-text);
    font-size: 1.05rem;
    font-weight: 820;
    letter-spacing: -0.015em;
}

body.premium-shell .premium-section__description {
    margin: 0.3rem 0 0;
    color: var(--premium-muted);
    font-size: 0.84rem;
    line-height: 1.55;
}

body.premium-shell .premium-panel {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--premium-border);
    border-radius: var(--premium-radius-lg);
    background: var(--premium-surface);
    box-shadow: var(--premium-shadow-soft);
}

body.premium-shell .premium-panel::before {
    position: absolute;
    top: 0;
    right: 1.5rem;
    left: 1.5rem;
    height: 1px;
    content: "";
    background: linear-gradient(
        90deg,
        transparent,
        rgba(99, 201, 244, 0.55),
        rgba(217, 184, 108, 0.52),
        transparent
    );
}

body.premium-shell .premium-panel__header {
    display: flex;
    min-height: 4.6rem;
    padding: 1.15rem clamp(1.1rem, 2vw, 1.6rem);
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--premium-border);
    background:
        radial-gradient(circle at 0 0, rgba(99, 201, 244, 0.09), transparent 16rem),
        rgba(250, 252, 253, 0.88);
}

body.premium-shell .premium-panel__heading {
    min-width: 0;
}

body.premium-shell .premium-panel__title {
    display: flex;
    margin: 0;
    align-items: center;
    gap: 0.62rem;
    color: var(--premium-text);
    font-size: 1rem;
    font-weight: 820;
    line-height: 1.3;
}

body.premium-shell .premium-panel__title i {
    color: #2b8db8;
}

body.premium-shell .premium-panel__subtitle {
    margin: 0.3rem 0 0;
    color: var(--premium-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

body.premium-shell .premium-panel__body {
    padding: clamp(1.15rem, 2.4vw, 1.85rem);
}

body.premium-shell .premium-panel__footer {
    display: flex;
    padding: 1rem clamp(1.1rem, 2vw, 1.6rem);
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    border-top: 1px solid var(--premium-border);
    background: rgba(247, 250, 252, 0.8);
}

body.premium-shell .premium-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}

body.premium-shell .premium-grid__full {
    grid-column: 1 / -1;
}

body.premium-shell .premium-grid__half {
    grid-column: span 6;
}

body.premium-shell .premium-grid__third {
    grid-column: span 4;
}

body.premium-shell .premium-grid__quarter {
    grid-column: span 3;
}

body.premium-shell .premium-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1.4rem;
}

body.premium-shell .premium-form-grid__full {
    grid-column: 1 / -1;
}

body.premium-shell .premium-field {
    min-width: 0;
    margin: 0;
}

body.premium-shell .premium-field label,
body.premium-shell .premium-field .form-label {
    display: flex;
    margin-bottom: 0.48rem;
    align-items: center;
    gap: 0.42rem;
    color: #30475c;
    font-size: 0.81rem;
    font-weight: 760;
    line-height: 1.35;
}

body.premium-shell .premium-field label i {
    color: #5595b2;
    font-size: 0.78rem;
}

body.premium-shell .premium-field .form-control,
body.premium-shell .premium-field .form-select,
body.premium-shell .premium-field select,
body.premium-shell .premium-field textarea {
    width: 100%;
    min-height: 3rem;
    padding: 0.72rem 0.88rem;
    border: 1px solid rgba(25, 72, 101, 0.18);
    border-radius: 0.75rem;
    color: var(--premium-text);
    background-color: #fff;
    box-shadow: inset 0 1px 2px rgba(6, 29, 48, 0.025);
    font-size: 0.9rem;
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease;
}

body.premium-shell .premium-field textarea {
    min-height: 8rem;
}

body.premium-shell .premium-field .form-control:focus,
body.premium-shell .premium-field .form-select:focus,
body.premium-shell .premium-field select:focus,
body.premium-shell .premium-field textarea:focus {
    border-color: rgba(44, 152, 197, 0.68);
    background-color: #fff;
    box-shadow: 0 0 0 0.22rem rgba(82, 180, 220, 0.14);
    outline: 0;
}

body.premium-shell .premium-field .form-text {
    margin-top: 0.42rem;
    color: var(--premium-muted);
    font-size: 0.74rem;
    line-height: 1.5;
}

body.premium-shell .premium-field .invalid-feedback {
    margin-top: 0.4rem;
    font-size: 0.75rem;
}

body.premium-shell .premium-button {
    display: inline-flex;
    min-height: 2.8rem;
    padding: 0.65rem 1.05rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid rgba(12, 62, 95, 0.18);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(145deg, #0e4b77, #082d50);
    box-shadow: 0 7px 18px rgba(7, 42, 69, 0.16);
    font-size: 0.82rem;
    font-weight: 780;
    line-height: 1.2;
    text-decoration: none;
    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        border-color 150ms ease;
}

body.premium-shell .premium-button:hover {
    color: #fff;
    border-color: rgba(217, 184, 108, 0.7);
    box-shadow: 0 10px 24px rgba(7, 42, 69, 0.22);
    text-decoration: none;
    transform: translateY(-1px);
}

body.premium-shell .premium-button--gold {
    border-color: rgba(217, 184, 108, 0.76);
    color: #10263a;
    background: linear-gradient(135deg, #f1dda7, #d4ae58);
}

body.premium-shell .premium-button--soft {
    border-color: var(--premium-border-strong);
    color: #24465f;
    background: #f5f9fb;
    box-shadow: none;
}

body.premium-shell .premium-button--danger {
    border-color: rgba(184, 48, 65, 0.24);
    color: #fff;
    background: linear-gradient(145deg, #c74455, #9f2637);
}

body.premium-shell .premium-button--success {
    border-color: rgba(31, 133, 99, 0.25);
    color: #fff;
    background: linear-gradient(145deg, #25946e, #17684f);
}

body.premium-shell .premium-button:focus-visible {
    outline: 3px solid rgba(99, 201, 244, 0.5);
    outline-offset: 2px;
}

body.premium-shell .premium-table-shell {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--premium-border);
    border-radius: var(--premium-radius-md);
    background: #fff;
}

body.premium-shell .premium-table-scroll {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

body.premium-shell .premium-data-table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
}

body.premium-shell .premium-data-table thead th {
    padding: 0.9rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--premium-border-strong);
    color: #3c586c;
    background: #f4f8fa;
    font-size: 0.7rem;
    font-weight: 820;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.premium-shell .premium-data-table tbody td {
    padding: 0.95rem 1rem;
    border: 0;
    border-bottom: 1px solid rgba(18, 65, 95, 0.075);
    color: #30495d;
    font-size: 0.85rem;
    vertical-align: middle;
}

body.premium-shell .premium-data-table tbody tr:last-child td {
    border-bottom: 0;
}

body.premium-shell .premium-data-table tbody tr:hover td {
    background: rgba(99, 201, 244, 0.055);
}

body.premium-shell .premium-empty-state {
    display: flex;
    min-height: 18rem;
    padding: 2.5rem 1.5rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px dashed rgba(31, 104, 143, 0.22);
    border-radius: var(--premium-radius-md);
    background:
        radial-gradient(circle at 50% 0, rgba(99, 201, 244, 0.11), transparent 14rem),
        #f9fbfc;
    text-align: center;
}

body.premium-shell .premium-empty-state__icon {
    display: inline-flex;
    width: 4.5rem;
    height: 4.5rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(217, 184, 108, 0.5);
    border-radius: 50%;
    color: #e5c77e;
    background: linear-gradient(145deg, #0d3a60, #071f38);
    box-shadow: 0 12px 28px rgba(5, 30, 51, 0.18);
    font-size: 1.5rem;
}

body.premium-shell .premium-empty-state__title {
    margin: 1.15rem 0 0;
    color: var(--premium-text);
    font-size: 1.15rem;
    font-weight: 820;
}

body.premium-shell .premium-empty-state__message {
    max-width: 34rem;
    margin: 0.55rem auto 0;
    color: var(--premium-muted);
    font-size: 0.88rem;
    line-height: 1.65;
}

body.premium-shell .premium-playlist-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
    gap: 1.4rem;
}

body.premium-shell .premium-playlist-list {
    min-width: 0;
}

body.premium-shell .premium-player-dock {
    position: sticky;
    top: 1rem;
    min-width: 0;
    align-self: start;
    border: 1px solid rgba(99, 201, 244, 0.16);
    border-radius: var(--premium-radius-lg);
    color: #eaf6fb;
    background:
        radial-gradient(circle at 50% -20%, rgba(99, 201, 244, 0.26), transparent 45%),
        linear-gradient(155deg, #0b3458, #06172b);
    box-shadow: var(--premium-shadow-panel);
}

body.premium-shell .premium-player-dock__body {
    padding: 1.35rem;
}

body.premium-shell .premium-player-dock__cover {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 1;
    border: 1px solid rgba(239, 216, 159, 0.36);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.05);
}

body.premium-shell .premium-player-dock__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.premium-shell .premium-player-dock__title {
    margin: 1rem 0 0;
    color: #fff;
    font-size: 1rem;
    font-weight: 820;
}

body.premium-shell .premium-player-dock__meta {
    margin: 0.3rem 0 0;
    color: rgba(212, 234, 244, 0.7);
    font-size: 0.76rem;
}

@media (max-width: 1199.98px) {
    body.premium-shell .premium-grid__quarter {
        grid-column: span 6;
    }

    body.premium-shell .premium-playlist-layout {
        grid-template-columns: 1fr;
    }

    body.premium-shell .premium-player-dock {
        position: static;
    }
}

@media (max-width: 767.98px) {
    body.premium-shell .premium-main-content {
        padding-right: 0.85rem;
        padding-bottom: 2rem;
        padding-left: 0.85rem;
    }

    body.premium-shell .premium-page__header,
    body.premium-shell .premium-panel__header,
    body.premium-shell .premium-panel__footer {
        align-items: stretch;
        flex-direction: column;
    }

    body.premium-shell .premium-page__actions,
    body.premium-shell .premium-panel__footer {
        justify-content: flex-start;
    }

    body.premium-shell .premium-grid__half,
    body.premium-shell .premium-grid__third,
    body.premium-shell .premium-grid__quarter {
        grid-column: 1 / -1;
    }

    body.premium-shell .premium-form-grid {
        grid-template-columns: 1fr;
    }

    body.premium-shell .premium-form-grid__full {
        grid-column: auto;
    }
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-button {
        width: 100%;
    }

    body.premium-shell .premium-page__actions {
        width: 100%;
    }

    body.premium-shell .premium-panel__body {
        padding: 1rem;
    }

    body.premium-shell .premium-data-table thead th,
    body.premium-shell .premium-data-table tbody td {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.premium-shell .premium-button,
    body.premium-shell .premium-field .form-control,
    body.premium-shell .premium-field .form-select,
    body.premium-shell .premium-field select,
    body.premium-shell .premium-field textarea {
        transition: none;
    }
}
/* === PREMIUM PROFILE UI === */

body.premium-shell .premium-profile-page {
    padding-top: 0.15rem;
}

body.premium-shell .premium-alert {
    display: flex;
    margin-bottom: 1.25rem;
    padding: 0.95rem 1.1rem;
    align-items: flex-start;
    gap: 0.7rem;
    border: 1px solid transparent;
    border-radius: 0.9rem;
    font-size: 0.86rem;
    line-height: 1.55;
}

body.premium-shell .premium-alert--success {
    border-color: rgba(31, 133, 99, 0.2);
    color: #17684f;
    background: rgba(37, 148, 110, 0.08);
}

body.premium-shell .premium-profile-hero {
    display: grid;
    grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: center;
}

body.premium-shell .premium-profile-hero__portrait {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

body.premium-shell .premium-profile-avatar {
    display: flex;
    width: 8.5rem;
    height: 8.5rem;
    padding: 0.32rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(217, 184, 108, 0.58);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 20%, rgba(99, 201, 244, 0.26), transparent 65%),
        linear-gradient(145deg, #0e436d, #071d35);
    box-shadow: 0 16px 36px rgba(6, 30, 52, 0.18);
}

body.premium-shell .premium-profile-avatar img,
body.premium-shell .premium-profile-avatar__fallback {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

body.premium-shell .premium-profile-avatar img {
    display: block;
    object-fit: cover;
}

body.premium-shell .premium-profile-avatar__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(145deg, #1a7aa9, #0b3d67);
    font-size: 3rem;
    font-weight: 850;
}

body.premium-shell .premium-profile-hero__identity {
    display: flex;
    max-width: 100%;
    margin-top: 0.9rem;
    flex-direction: column;
    gap: 0.18rem;
}

body.premium-shell .premium-profile-hero__identity strong {
    overflow-wrap: anywhere;
    color: var(--premium-text);
    font-size: 0.96rem;
    font-weight: 820;
}

body.premium-shell .premium-profile-hero__identity span {
    overflow-wrap: anywhere;
    color: var(--premium-muted);
    font-size: 0.78rem;
}

body.premium-shell .premium-profile-hero__editor {
    min-width: 0;
}

body.premium-shell .premium-profile-hero__help {
    display: flex;
    margin: 0 0 1rem;
    padding: 0.85rem 0.95rem;
    align-items: flex-start;
    gap: 0.55rem;
    border: 1px solid rgba(52, 136, 174, 0.13);
    border-radius: 0.8rem;
    color: #567085;
    background: #f5fafc;
    font-size: 0.8rem;
    line-height: 1.6;
}

body.premium-shell .premium-profile-hero__help i {
    margin-top: 0.18rem;
    color: #2e8db6;
}

body.premium-shell .premium-profile-upload {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
}

body.premium-shell .premium-profile-upload__actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

body.premium-shell .premium-profile-file__input {
    padding: 0.44rem;
}

body.premium-shell .premium-profile-file__input::file-selector-button {
    min-height: 2.25rem;
    margin-right: 0.75rem;
    padding: 0.45rem 0.8rem;
    border: 0;
    border-radius: 0.6rem;
    color: #24465f;
    background: #eaf4f8;
    font-size: 0.78rem;
    font-weight: 760;
    cursor: pointer;
}

body.premium-shell .premium-inline-message {
    margin-top: 0.85rem;
}

body.premium-shell .premium-inline-message:empty {
    display: none;
}

body.premium-shell .premium-form-section + .premium-form-section {
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--premium-border);
}

body.premium-shell .premium-form-section__heading {
    display: flex;
    margin-bottom: 1.15rem;
    align-items: flex-start;
    gap: 0.75rem;
}

body.premium-shell .premium-form-section__icon {
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.35rem;
    border: 1px solid rgba(99, 201, 244, 0.22);
    border-radius: 0.75rem;
    color: #2e8db6;
    background: rgba(99, 201, 244, 0.09);
}

body.premium-shell .premium-form-section__heading h3 {
    margin: 0;
    color: var(--premium-text);
    font-size: 0.93rem;
    font-weight: 820;
}

body.premium-shell .premium-form-section__heading p {
    margin: 0.28rem 0 0;
    color: var(--premium-muted);
    font-size: 0.76rem;
    line-height: 1.5;
}

body.premium-shell .premium-panel__footer-note {
    display: inline-flex;
    margin-right: auto;
    align-items: center;
    gap: 0.45rem;
    color: var(--premium-muted);
    font-size: 0.76rem;
    line-height: 1.45;
}

body.premium-shell .premium-panel__footer-note i {
    color: #2f8db6;
}

body.premium-shell .premium-account-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1.15rem;
}

body.premium-shell .premium-account-card {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 1.25rem;
    align-items: flex-start;
    align-self: stretch;
    gap: 0.9rem;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid var(--premium-border);
    border-radius: var(--premium-radius-md);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--premium-shadow-soft);
}

body.premium-shell .premium-account-card--danger {
    border-color: rgba(175, 45, 61, 0.15);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 247, 248, 0.95));
}

body.premium-shell .premium-account-card__icon {
    display: inline-flex;
    width: 2.8rem;
    height: 2.8rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.8rem;
    border: 1px solid rgba(217, 184, 108, 0.4);
    border-radius: 0.85rem;
    color: #e6c779;
    background: linear-gradient(145deg, #0d3a60, #071f38);
    box-shadow: 0 8px 18px rgba(6, 30, 52, 0.14);
}

body.premium-shell .premium-account-card--danger .premium-account-card__icon {
    color: #ffd8dd;
    border-color: rgba(184, 48, 65, 0.34);
    background: linear-gradient(145deg, #b43b4b, #842132);
}

body.premium-shell .premium-account-card__content {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

body.premium-shell .premium-account-card__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
}

body.premium-shell .premium-account-card__heading h3 {
    margin: 0;
    color: var(--premium-text);
    font-size: 0.92rem;
    font-weight: 820;
    line-height: 1.35;
}

body.premium-shell .premium-account-card__content > p {
    margin: 0.55rem 0 0;
    color: var(--premium-muted);
    font-size: 0.78rem;
    line-height: 1.58;
}

body.premium-shell .premium-account-card__actions {
    display: flex;
    width: 100%;
    margin-top: 1rem;
    padding-top: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
}

body.premium-shell .premium-account-card__actions .premium-button {
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

body.premium-shell .premium-status-badge {
    display: inline-flex;
    min-height: 1.55rem;
    padding: 0.28rem 0.55rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 820;
    line-height: 1;
}

body.premium-shell .premium-status-badge--success {
    border-color: rgba(31, 133, 99, 0.2);
    color: #17684f;
    background: rgba(37, 148, 110, 0.1);
}

body.premium-shell .premium-status-badge--danger {
    border-color: rgba(184, 48, 65, 0.18);
    color: #a12c3c;
    background: rgba(199, 68, 85, 0.09);
}

body.premium-shell .premium-button--warning {
    border-color: rgba(177, 121, 25, 0.23);
    color: #49330d;
    background: linear-gradient(135deg, #f5dda1, #d5ac55);
}

body.premium-shell .premium-button[disabled] {
    opacity: 0.58;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

body.premium-shell .premium-modal {
    overflow: hidden;
    border: 1px solid rgba(18, 65, 95, 0.12);
    border-radius: 1.15rem;
    box-shadow: 0 24px 70px rgba(4, 24, 42, 0.24);
}

body.premium-shell .premium-modal__header {
    padding: 1.2rem 1.3rem;
    align-items: flex-start;
    border-bottom: 1px solid var(--premium-border);
    background:
        radial-gradient(circle at 0 0, rgba(99, 201, 244, 0.12), transparent 15rem),
        #f9fbfc;
}

body.premium-shell .premium-modal__eyebrow {
    margin: 0 0 0.22rem;
    color: #a27b2d;
    font-size: 0.64rem;
    font-weight: 820;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

body.premium-shell .premium-modal__title {
    margin: 0;
    color: var(--premium-text);
    font-size: 1.08rem;
    font-weight: 840;
}

body.premium-shell .premium-modal__body {
    padding: 1.35rem;
    color: #425d70;
    font-size: 0.88rem;
    line-height: 1.65;
}

body.premium-shell .premium-modal__footer {
    padding: 1rem 1.3rem;
    border-top: 1px solid var(--premium-border);
    background: #f8fafb;
}

body.premium-shell .premium-modal__form {
    display: grid;
    gap: 1rem;
}

body.premium-shell .premium-inline-error {
    color: #ac3042;
    font-size: 0.78rem;
    line-height: 1.45;
}

body.premium-shell .premium-inline-error:empty {
    display: none;
}

@media (max-width: 991.98px) {
    body.premium-shell .premium-account-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    body.premium-shell .premium-profile-hero {
        grid-template-columns: 1fr;
    }

    body.premium-shell .premium-profile-hero__portrait {
        align-items: flex-start;
        flex-direction: row;
        gap: 1rem;
        text-align: left;
    }

    body.premium-shell .premium-profile-avatar {
        width: 6.5rem;
        height: 6.5rem;
        flex: 0 0 6.5rem;
    }

    body.premium-shell .premium-profile-hero__identity {
        margin-top: 0;
    }

    body.premium-shell .premium-panel__footer-note {
        margin-right: 0;
    }
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-profile-hero__portrait {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    body.premium-shell .premium-profile-upload__actions,
    body.premium-shell .premium-account-card__actions {
        width: 100%;
        align-items: stretch;
        justify-content: flex-start;
        flex-direction: column;
    }

    body.premium-shell .premium-account-card {
        width: 100%;
        min-height: 0;
        height: auto;
        padding: 1.1rem;
        flex-direction: column;
        overflow: hidden;
    }

    body.premium-shell .premium-account-card__content {
        width: 100%;
        min-height: 0;
    }

    body.premium-shell .premium-account-card__heading {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
    }

    body.premium-shell .premium-account-card__actions {
        margin-top: 1rem;
    }

    body.premium-shell .premium-account-card__actions .premium-button {
        width: 100%;
        min-height: 3rem;
        margin: 0;
        flex: 0 0 auto;
    }

    body.premium-shell .premium-modal__footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }
}

/* === PREMIUM ADMIN CONTENT UI === */

/* El administrador ya se identifica por su sidebar específico. :has() evita
   añadir lógica a Blade y mantiene intactos controladores, rutas y datos. */
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content {
    background:
        radial-gradient(circle at 92% 2%, rgba(83, 187, 229, 0.11), transparent 26rem),
        linear-gradient(180deg, #f6f9fc 0%, #eef4f8 100%);
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content > .container-fluid {
    width: min(100%, 94rem);
    margin-inline: auto;
    padding: clamp(1.25rem, 2.4vw, 2.35rem) clamp(1rem, 2.4vw, 2.25rem) 3rem;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content h1,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .h1,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .h3 {
    margin-bottom: 1.6rem !important;
    color: #102f49 !important;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.12;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content h4 {
    position: relative;
    margin: 0 0 1.15rem !important;
    padding-left: 1rem;
    color: #174f72 !important;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 800;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content h4::before {
    position: absolute;
    top: 0.08rem;
    bottom: 0.08rem;
    left: 0;
    width: 0.28rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #d6b45f, #55bde4);
    content: "";
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .row.mb-4 {
    row-gap: 0.1rem;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card {
    overflow: hidden;
    border: 1px solid rgba(20, 72, 105, 0.1) !important;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 34px rgba(15, 48, 72, 0.09) !important;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card:hover {
    border-color: rgba(55, 155, 200, 0.24) !important;
    box-shadow: 0 18px 42px rgba(15, 48, 72, 0.13) !important;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header {
    padding: 1.2rem 1.35rem;
    border-bottom: 1px solid rgba(20, 72, 105, 0.09);
    background: linear-gradient(135deg, rgba(246, 251, 254, 0.98), #fff);
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header h1,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header h2,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header h3,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header h4,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header h5 {
    margin: 0 !important;
    color: #123b59 !important;
    font-weight: 800;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-body {
    padding: 1.35rem;
}

/* Tarjetas de indicadores y estadísticas. */
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-primary,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-success,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-info,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-warning {
    position: relative;
    border-left: 0 !important;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-primary::before,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-success::before,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-info::before,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .border-left-warning::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.3rem;
    background: linear-gradient(180deg, #58bfe5, #d6b45f);
    content: "";
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card .text-xs {
    color: #30799e !important;
    font-size: 0.73rem;
    font-weight: 800 !important;
    letter-spacing: 0.075em;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card .h5 {
    color: #112f46 !important;
    font-size: clamp(1.45rem, 2.5vw, 1.9rem);
    font-weight: 850 !important;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card .fa-2x {
    display: inline-flex;
    width: 3.25rem;
    height: 3.25rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(83, 187, 229, 0.2);
    border-radius: 1rem;
    color: #154f71 !important;
    background: linear-gradient(145deg, #eff9fd, #fdf8ea);
    font-size: 1.4rem;
}

/* Cabeceras, acciones y formularios de gestión. */
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn {
    min-height: 2.7rem;
    padding: 0.6rem 1rem;
    border-radius: 0.78rem;
    font-weight: 750;
    box-shadow: none;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn-primary {
    border-color: #0e4a70;
    background: linear-gradient(135deg, #176d98, #0b395d);
    box-shadow: 0 8px 18px rgba(10, 57, 91, 0.18);
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn-primary:hover,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn-primary:focus {
    border-color: #092f4d;
    background: linear-gradient(135deg, #1b7cae, #0a3152);
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn-info,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn-success,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn-danger {
    min-width: 2.65rem;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content label {
    margin-bottom: 0.45rem;
    color: #284b61;
    font-weight: 750;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .form-control,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .custom-select,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content select {
    min-height: 2.75rem;
    border: 1px solid rgba(24, 79, 112, 0.2);
    border-radius: 0.72rem;
    color: #213f53;
    background-color: #fff;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .form-control:focus,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content select:focus {
    border-color: #4ab4df;
    box-shadow: 0 0 0 0.2rem rgba(74, 180, 223, 0.16);
}

/* Tablas y DataTables: lectura limpia y desplazamiento seguro en móvil. */
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .table-responsive,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dataTables_wrapper,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content div.dt-container {
    width: 100%;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .table-responsive {
    overflow-x: auto;
    border: 1px solid rgba(20, 72, 105, 0.1);
    border-radius: 0.9rem;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table.table,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table.dataTable {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0;
    color: #263f50;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table thead th {
    padding: 0.9rem 0.78rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 72, 105, 0.13) !important;
    color: #173d58;
    background: #edf6fa;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.025em;
    vertical-align: middle;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table tbody td {
    padding: 0.85rem 0.78rem;
    border-color: rgba(20, 72, 105, 0.075) !important;
    background: rgba(255, 255, 255, 0.97);
    vertical-align: middle;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table tbody tr:nth-child(even) td {
    background: #f8fbfd;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table tbody tr:hover td {
    background: #eef8fc;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .badge {
    padding: 0.42rem 0.65rem;
    border-radius: 999px;
    font-weight: 800;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dataTables_filter input,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dt-search input {
    min-width: min(15rem, 48vw);
    margin-left: 0.55rem;
}

body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dataTables_length,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dataTables_filter,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dt-length,
body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dt-search {
    margin-bottom: 1rem;
    color: #365468;
}

@media (max-width: 991.98px) {
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content > .container-fluid {
        padding-inline: 1rem;
    }

    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-body {
        padding: 1.1rem;
    }
}

@media (max-width: 767.98px) {
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content > .container-fluid {
        padding: 1rem 0.75rem 2rem;
    }

    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content h1,
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .h3 {
        margin-bottom: 1.2rem !important;
        font-size: 1.65rem;
    }

    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-header,
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card-body {
        padding: 1rem;
    }

    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dataTables_filter,
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dt-search {
        text-align: left;
    }

    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dataTables_filter input,
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .dt-search input {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0.45rem 0 0;
    }

    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content table {
        min-width: 46rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .card,
    body.premium-shell:has(.premium-sidebar--admin) .premium-main-content .btn {
        transition: none !important;
    }
}

/* === PREMIUM INVOICE COMPACT ACTIONS === */
.premium-invoice-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    white-space: nowrap;
}

.premium-invoice-action {
    width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(12, 51, 78, .13);
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 .25rem .7rem rgba(9, 41, 65, .08);
    font-size: .82rem;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.premium-invoice-action--view { color: #0b577d; }
.premium-invoice-action--correct { color: #9a711b; background: #fffaf0; border-color: rgba(201, 164, 79, .34); }
.premium-invoice-action:hover,
.premium-invoice-action:focus-visible {
    color: inherit;
    transform: translateY(-1px);
    box-shadow: 0 .42rem 1rem rgba(9, 41, 65, .14);
    outline: 2px solid rgba(48, 183, 214, .28);
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .premium-invoice-action { width: 2rem; height: 2rem; border-radius: .62rem; }
}

/* === PREMIUM INVOICE DETAIL ACTIONS === */
.premium-invoice-detail-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.premium-invoice-detail-actions .btn {
    min-height: 2.35rem;
    padding: .48rem .82rem;
    border-radius: .72rem;
    font-size: .84rem;
    font-weight: 700;
    box-shadow: 0 .3rem .8rem rgba(9, 41, 65, .09);
}

@media (max-width: 767.98px) {
    .premium-invoice-detail-actions {
        width: 100%;
    }

    .premium-invoice-detail-actions .btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* === PREMIUM RECTIFICATION TOTALS === */
.premium-final-total-row th,
.premium-final-total-row td {
    color: #fff !important;
    background: linear-gradient(135deg, #0b587c, #083653) !important;
}

.premium-final-total-row small {
    color: rgba(255,255,255,.8);
}

.premium-rectification-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .7rem;
}

.premium-rectification-summary span {
    padding: .42rem .65rem;
    color: #466273;
    background: #f2f7fa;
    border: 1px solid #dce8ee;
    border-radius: .65rem;
    font-size: .78rem;
}

.premium-rectification-summary span:last-child {
    color: #fff;
    background: #0b587c;
    border-color: #0b587c;
}

/* === PREMIUM INVOICE DETAIL TOOLBAR V2 === */
.premium-invoice-detail-actions {
    width: 100%;
    margin-top: .9rem;
    padding: .7rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .7rem;
    background: linear-gradient(135deg, #f6fafc, #eef5f8);
    border: 1px solid rgba(16, 81, 113, .10);
    border-radius: 1rem;
}

.premium-invoice-detail-actions .btn {
    min-height: 2.25rem;
    padding: .45rem .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: .68rem;
    border-width: 1px;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 .25rem .65rem rgba(9, 41, 65, .08);
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.premium-invoice-detail-actions .btn:hover,
.premium-invoice-detail-actions .btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 .42rem .9rem rgba(9, 41, 65, .14);
}

.premium-invoice-detail-actions .btn-secondary {
    color: #294b60;
    background: #fff;
    border-color: #d6e2e9;
}

.premium-invoice-detail-actions .btn-warning {
    color: #684b0a;
    background: #fff7df;
    border-color: #dfbe62;
}

.premium-invoice-detail-actions .btn-primary {
    color: #fff;
    background: #0b587c;
    border-color: #0b587c;
}

@media (max-width: 767.98px) {
    .premium-invoice-detail-actions {
        gap: .5rem;
        padding: .6rem;
    }

    .premium-invoice-detail-actions .btn {
        flex: 1 1 calc(50% - .5rem);
        min-width: 8.5rem;
    }
}

/* === PREMIUM FISCAL OPEN BUTTON === */
section[aria-labelledby="finance-title"] a[href*="/admin/fiscal"] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    width: 100%;
    min-height: 3.5rem;
    padding: .9rem 1.25rem;
    color: #0b3552 !important;
    background: linear-gradient(135deg, #fff8df 0%, #f5d77d 100%) !important;
    border: 1px solid rgba(190, 145, 32, .55) !important;
    border-radius: 1rem !important;
    box-shadow: 0 12px 28px rgba(168, 125, 22, .18);
    font-weight: 800;
    text-decoration: none !important;
    line-height: 1.25;
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

section[aria-labelledby="finance-title"] a[href*="/admin/fiscal"] i {
    color: #a87608 !important;
}

section[aria-labelledby="finance-title"] a[href*="/admin/fiscal"]:hover,
section[aria-labelledby="finance-title"] a[href*="/admin/fiscal"]:focus-visible {
    color: #082a43 !important;
    filter: brightness(1.025);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(168, 125, 22, .25);
}

section[aria-labelledby="finance-title"] a[href*="/admin/fiscal"]:active {
    transform: translateY(0);
}

@media (max-width: 767.98px) {
    section[aria-labelledby="finance-title"] a[href*="/admin/fiscal"] {
        min-height: 3.25rem;
        padding: .8rem 1rem;
        font-size: .94rem;
    }
}

/* === FISCAL SECURE PACKAGE PHASE 2 === */
.premium-secure-package{border-color:rgba(190,145,40,.35);background:linear-gradient(145deg,#fff 0%,#fffdf7 100%)}
.premium-secure-package__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #e8eef2}
.premium-secure-package__head p{margin-bottom:0;color:#607986}.premium-secure-package__badge{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid #e6c568;border-radius:999px;background:#fff7d9;color:#8b6410;font-weight:800;white-space:nowrap}
.premium-package-recipient{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:1rem;padding:1rem;border-radius:1rem;background:#eef8fb;color:#244a62}.premium-package-recipient strong{color:#083e5d}
.premium-secure-package label small{display:block;margin-top:.35rem;color:#718591;font-weight:500}.premium-package-check{display:flex!important;align-items:flex-start;gap:.6rem;padding:.8rem;border-radius:.8rem;background:#f7fafc}.premium-package-check input{margin-top:.25rem}
.premium-package-button{display:inline-flex;align-items:center;gap:.55rem;padding:.72rem 1.15rem;border:1px solid #d6ae45;background:linear-gradient(135deg,#fff3c4,#f4d36f);color:#173b52;font-weight:850;box-shadow:0 9px 20px rgba(168,125,23,.16)}
.premium-package-warning{display:inline-block;margin:0 0 0 1rem;color:#6e7f89;font-size:.88rem}.premium-package-status{display:inline-flex;padding:.35rem .65rem;border-radius:999px;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.premium-package-status--preparado{border:1px solid #a9dfc4;background:#ddf6e9;color:#11633f}.premium-package-status--enviado,.premium-package-status--entregado{background:#ddf6e9;color:#11633f}.premium-package-status--fallido,.premium-package-status--rechazado{background:#fde3e5;color:#9a2630}
@media(max-width:767.98px){.premium-secure-package__head{flex-direction:column}.premium-package-recipient{grid-template-columns:1fr}.premium-package-button{width:100%;justify-content:center}.premium-package-warning{display:block;margin:.75rem 0 0}.premium-secure-package .table{min-width:720px}}

/* === FISCAL MAIL PHASE 3 === */
.premium-mail-actions{display:grid;gap:.65rem;min-width:18rem}.premium-mail-actions form{display:grid;gap:.45rem;padding:.75rem;border:1px solid #dce9ef;border-radius:.85rem;background:#f8fbfc}.premium-mail-confirm{font-size:.78rem;font-weight:650!important}.premium-real-mail-disabled{display:inline-flex;align-items:center;gap:.4rem;color:#72550d;background:#fff3cd;border:1px solid #eed27a;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:800}.premium-mail-actions details{font-size:.82rem}.premium-mail-actions summary{cursor:pointer;color:#07577b;font-weight:800}.premium-mail-actions ul{margin:.6rem 0 0;padding-left:1.2rem}.premium-mail-actions li+li{margin-top:.45rem}@media(max-width:767.98px){.premium-mail-actions{min-width:15rem}}

/* === PROFILE RESPONSIVE, DISCLOSURE AND STICKY SIDEBAR === */

/* Mantiene legible el botón claro en hover y foco. */
body.premium-shell .premium-button--soft:hover,
body.premium-shell .premium-button--soft:focus-visible {
    color: #123f5c;
    border-color: rgba(44, 152, 197, 0.5);
    background: #eaf4f8;
    box-shadow: 0 8px 18px rgba(7, 42, 69, 0.12);
}

/* Desplegable de datos personales y fiscales. */
body.premium-shell .premium-profile-disclosure {
    width: 100%;
}

body.premium-shell .premium-profile-disclosure__summary {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

body.premium-shell .premium-profile-disclosure__summary::-webkit-details-marker {
    display: none;
}

body.premium-shell .premium-profile-disclosure__summary::marker {
    display: none;
    content: "";
}

body.premium-shell .premium-profile-disclosure__summary:hover {
    background: #f4f9fc;
}

body.premium-shell .premium-profile-disclosure__summary:focus-visible {
    outline: 3px solid rgba(99, 201, 244, 0.45);
    outline-offset: -3px;
}

body.premium-shell .premium-profile-disclosure__chevron {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.5rem;
    border: 1px solid var(--premium-border);
    border-radius: 50%;
    color: #1c6388;
    background: #fff;
    transition: transform 180ms ease, background-color 180ms ease;
}

body.premium-shell
    .premium-profile-disclosure[open]
    .premium-profile-disclosure__chevron {
    transform: rotate(180deg);
}

/* El menú permanece visible en escritorio y desplaza su contenido internamente. */
@media (min-width: 1200px) {
    body.premium-shell .premium-sidebar,
    body.premium-shell .premium-sidebar--admin {
        position: sticky;
        top: 0;
        display: flex;
        height: 100vh;
        min-height: 100vh;
        max-height: 100vh;
        align-self: flex-start;
        flex-direction: column;
        overflow: hidden;
    }

    body.premium-shell .premium-sidebar--admin .premium-sidebar__scroll {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    body.premium-shell .premium-sidebar--user {
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-profile-disclosure__summary {
        align-items: flex-start;
    }

    body.premium-shell .premium-profile-disclosure__chevron {
        width: 2.25rem;
        height: 2.25rem;
        flex-basis: 2.25rem;
    }
}

/* === INDEPENDENT SIDEBAR AND CONTENT PANELS === */

/*
 * En escritorio, menú y contenido son dos paneles independientes.
 * Únicamente se desplaza la caja de contenido.
 */
@media (min-width: 1200px) {
    html:has(body.premium-shell),
    body.premium-shell {
        height: 100%;
        overflow: hidden;
    }

    body.premium-shell #wrapper {
        width: 100%;
        height: 100vh;
        min-height: 0;
        align-items: stretch;
        overflow: hidden;
    }

    body.premium-shell .premium-sidebar,
    body.premium-shell .premium-sidebar--admin,
    body.premium-shell .premium-sidebar--user {
        position: relative;
        top: auto;
        height: 100vh;
        min-height: 100vh;
        max-height: 100vh;
        align-self: stretch;
        flex-shrink: 0;
        overflow: hidden;
    }

    body.premium-shell #wrapper #content-wrapper {
        height: 100vh;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        scrollbar-gutter: stable;
    }

    body.premium-shell .premium-sidebar--admin .premium-sidebar__scroll {
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    body.premium-shell .premium-sidebar--user {
        overflow-x: hidden;
        overflow-y: auto;
    }
}

/* En móvil vuelve el desplazamiento normal de la página. */
@media (max-width: 1199.98px) {
    html:has(body.premium-shell),
    body.premium-shell {
        height: auto;
        min-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
    }

    body.premium-shell #wrapper,
    body.premium-shell #wrapper #content-wrapper {
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }
}

/* === FISCAL COLLAPSIBLE CARDS === */

body.premium-shell .premium-fiscal-card--disclosure {
    padding: 0;
    overflow: hidden;
}

body.premium-shell .premium-fiscal-disclosure {
    width: 100%;
}

body.premium-shell .premium-fiscal-disclosure__summary {
    display: flex;
    width: 100%;
    min-height: 4.5rem;
    padding: 1.25rem 1.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: linear-gradient(135deg, #f8fcfe, #ffffff);
    transition: background-color 160ms ease;
}

body.premium-shell .premium-fiscal-disclosure__summary::-webkit-details-marker {
    display: none;
}

body.premium-shell .premium-fiscal-disclosure__summary::marker {
    content: "";
}

body.premium-shell .premium-fiscal-disclosure__summary:hover {
    background: #eef8fc;
}

body.premium-shell .premium-fiscal-disclosure__summary:focus-visible {
    outline: 3px solid rgba(74, 180, 223, 0.42);
    outline-offset: -3px;
}

body.premium-shell .premium-fiscal-disclosure__summary h2 {
    margin: 0;
}

body.premium-shell .premium-fiscal-disclosure__chevron {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.5rem;
    border: 1px solid rgba(20, 87, 124, 0.16);
    border-radius: 50%;
    color: #176d98;
    background: #fff;
    box-shadow: 0 5px 14px rgba(9, 52, 80, 0.08);
    transition: transform 180ms ease, background-color 180ms ease;
}

body.premium-shell
    .premium-fiscal-disclosure[open]
    > .premium-fiscal-disclosure__summary
    .premium-fiscal-disclosure__chevron {
    transform: rotate(180deg);
}

body.premium-shell .premium-fiscal-disclosure__body {
    padding: 0 1.4rem 1.4rem;
    border-top: 1px solid rgba(20, 87, 124, 0.09);
}

body.premium-shell
    .premium-secure-package
    .premium-fiscal-disclosure__summary {
    align-items: flex-start;
}

body.premium-shell
    .premium-secure-package
    .premium-fiscal-disclosure__summary
    .premium-secure-package__badge {
    margin-left: auto;
}

@media (max-width: 767.98px) {
    body.premium-shell .premium-fiscal-disclosure__summary {
        min-height: 4rem;
        padding: 1rem;
    }

    body.premium-shell .premium-fiscal-disclosure__body {
        padding: 0 1rem 1rem;
    }

    body.premium-shell
        .premium-secure-package
        .premium-fiscal-disclosure__summary {
        flex-wrap: wrap;
    }

    body.premium-shell
        .premium-secure-package
        .premium-fiscal-disclosure__summary
        .premium-secure-package__badge {
        margin-left: 0;
    }
}

/* === DASHBOARD RANKING DISCLOSURES === */

body.premium-shell .premium-ranking-card {
    overflow: hidden;
}

body.premium-shell .premium-ranking-disclosure {
    width: 100%;
}

body.premium-shell .premium-ranking-disclosure__summary {
    display: flex;
    width: 100%;
    min-height: 4.5rem;
    padding: 1rem 1.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: linear-gradient(135deg, #f8fcfe, #ffffff);
    transition: background-color 160ms ease;
}

body.premium-shell .premium-ranking-disclosure__summary::-webkit-details-marker {
    display: none;
}

body.premium-shell .premium-ranking-disclosure__summary::marker {
    content: "";
}

body.premium-shell .premium-ranking-disclosure__summary:hover {
    background: #eef8fc;
}

body.premium-shell .premium-ranking-disclosure__summary:focus-visible {
    outline: 3px solid rgba(74, 180, 223, 0.42);
    outline-offset: -3px;
}

body.premium-shell .premium-ranking-disclosure__summary h4 {
    margin: 0;
}

body.premium-shell .premium-ranking-disclosure__chevron {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.5rem;
    border: 1px solid rgba(20, 87, 124, 0.16);
    border-radius: 50%;
    color: #176d98;
    background: #fff;
    box-shadow: 0 5px 14px rgba(9, 52, 80, 0.08);
    transition: transform 180ms ease, background-color 180ms ease;
}

body.premium-shell
    .premium-ranking-disclosure[open]
    > .premium-ranking-disclosure__summary
    .premium-ranking-disclosure__chevron {
    transform: rotate(180deg);
}

body.premium-shell .premium-ranking-disclosure__body {
    border-top: 1px solid rgba(20, 87, 124, 0.09);
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-ranking-disclosure__summary {
        min-height: 4rem;
        padding: 0.9rem 1rem;
    }

    body.premium-shell .premium-ranking-disclosure__chevron {
        width: 2.25rem;
        height: 2.25rem;
        flex-basis: 2.25rem;
    }
}

/* === MODERN ADMIN ACTION SYSTEM === */

body.premium-shell .premium-admin-actions {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

body.premium-shell .premium-admin-action {
    display: inline-flex;
    width: 2.55rem;
    height: 2.55rem;
    padding: 0;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.55rem;
    gap: 0.42rem;
    border: 1px solid transparent;
    border-radius: 0.72rem;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 780;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 5px 13px rgba(8, 39, 61, 0.12);
    cursor: pointer;
    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        filter 150ms ease;
}

body.premium-shell .premium-admin-action--wide {
    width: auto;
    min-width: 2.55rem;
    padding-inline: 0.75rem;
    flex-basis: auto;
}

body.premium-shell .premium-admin-action--edit,
body.premium-shell .premium-admin-action--view {
    border-color: #1498bd;
    background: linear-gradient(145deg, #28c2df, #1195b9);
}

body.premium-shell .premium-admin-action--delete {
    border-color: #cf3044;
    background: linear-gradient(145deg, #ed3d52, #c9263c);
}

body.premium-shell .premium-admin-action--copy,
body.premium-shell .premium-admin-action--document {
    border-color: #168557;
    background: linear-gradient(145deg, #26a66d, #147c50);
}

body.premium-shell .premium-admin-action--security {
    border-color: #d89d18;
    color: #332300;
    background: linear-gradient(145deg, #ffc928, #e9a913);
}

body.premium-shell .premium-admin-action--logs {
    border-color: #64727d;
    background: linear-gradient(145deg, #7b8993, #5d6973);
}

body.premium-shell .premium-admin-action:hover,
body.premium-shell .premium-admin-action:focus-visible {
    color: #fff;
    filter: brightness(1.06);
    box-shadow: 0 8px 18px rgba(8, 39, 61, 0.18);
    transform: translateY(-1px);
    text-decoration: none;
}

body.premium-shell .premium-admin-action--security:hover,
body.premium-shell .premium-admin-action--security:focus-visible {
    color: #241800;
}

body.premium-shell .premium-admin-action:focus-visible {
    outline: 3px solid rgba(88, 199, 239, 0.42);
    outline-offset: 2px;
}

body.premium-shell:has(.premium-sidebar--admin)
    .premium-main-content
    table thead th:last-child,
body.premium-shell:has(.premium-sidebar--admin)
    .premium-main-content
    table tbody td:last-child {
    text-align: right;
}

body.premium-shell .premium-notification-subitem {
    display: flex !important;
    min-height: 2.55rem;
    padding: 0.62rem 0.72rem !important;
    align-items: center;
    gap: 0.65rem;
    border: 1px solid transparent;
}

body.premium-shell .premium-notification-subitem i {
    display: inline-flex;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.75rem;
    border-radius: 0.55rem;
    color: #8edcff;
    background: rgba(99, 201, 244, 0.12);
    font-size: 0.78rem;
}

body.premium-shell .premium-notification-subitem.active {
    border-color: rgba(217, 184, 108, 0.28);
    color: #fff !important;
    background: linear-gradient(
        135deg,
        rgba(99, 201, 244, 0.18),
        rgba(217, 184, 108, 0.1)
    ) !important;
}

body.premium-shell .premium-notification-subitem.active i {
    color: #f5d98e;
    background: rgba(217, 184, 108, 0.14);
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-admin-action {
        width: 2.75rem;
        height: 2.75rem;
        flex-basis: 2.75rem;
    }

    body.premium-shell .premium-admin-action--wide {
        width: auto;
        min-width: 2.75rem;
        flex-basis: auto;
    }
}

/* Premium semantic commercial type badges */
body.premium-shell .premium-type-badge {
    display: inline-flex;
    min-height: 1.75rem;
    padding: 0.32rem 0.72rem;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.01em;
    text-align: center;
    white-space: nowrap;
    box-shadow: 0 5px 12px rgba(8, 42, 67, 0.08);
}

body.premium-shell .premium-type-badge--gratuito {
    border-color: #8ddff0;
    color: #07576b;
    background: #dff8fc;
}

body.premium-shell .premium-type-badge--alquiler {
    border-color: #78aef8;
    color: #ffffff;
    background: linear-gradient(145deg, #237be8, #1556b8);
}

body.premium-shell .premium-type-badge--personalizado {
    border-color: #b5a0ee;
    color: #ffffff;
    background: linear-gradient(145deg, #8066d6, #5e43b3);
}

body.premium-shell .premium-type-badge--suscripcion {
    border-color: #e3bd57;
    color: #62440b;
    background: linear-gradient(145deg, #ffe7a1, #e9bd4e);
}

body.premium-shell .premium-type-badge--mensualidad {
    border-color: #56d3dd;
    color: #064f5a;
    background: #cff8f8;
}

body.premium-shell .premium-type-badge--mes-gratis {
    border-color: #f3cf72;
    color: #3f2a00;
    background: linear-gradient(145deg, #ffe59a, #e6ad36);
    box-shadow: 0 6px 14px rgba(199, 137, 24, 0.2);
}

body.premium-shell .premium-type-badge--registro-gratuito {
    border-color: #ec8798;
    color: #ffffff;
    background: linear-gradient(145deg, #dc667b, #a92f4c);
    box-shadow: 0 6px 14px rgba(169, 47, 76, 0.2);
}

body.premium-shell .premium-type-badge--podcast-gratuito {
    border-color: #aa8be3;
    color: #ffffff;
    background: linear-gradient(145deg, #8f65d4, #5c3ba5);
    box-shadow: 0 6px 14px rgba(92, 59, 165, 0.2);
}

body.premium-shell .premium-type-badge--registro-podcast-gratuito {
    border-color: #d77ab8;
    color: #ffffff;
    background: linear-gradient(145deg, #b84ea3, #71358f);
    box-shadow: 0 6px 14px rgba(113, 53, 143, 0.22);
}

body.premium-shell .premium-type-badge--estandar {
    border-color: #65a9dc;
    color: #ffffff;
    background: linear-gradient(145deg, #267fbd, #0b4779);
    box-shadow: 0 6px 14px rgba(11, 71, 121, 0.2);
}

/* Premium coupon redemption experience */
body.premium-shell .premium-coupon-redeem {
    --login-night-950: #030916;
    --login-night-900: #071328;
    --login-gold-300: #f5d993;
    --login-white: #f8fbff;
    --login-border: rgba(174, 222, 255, 0.18);
    overflow: hidden;
    border: 1px solid var(--login-border);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 32px 90px rgba(0, 5, 17, 0.56);
}

body.premium-shell .premium-coupon-redeem__header {
    position: relative;
    padding: 1.35rem 1.5rem;
    padding-inline-end: 5rem;
    border: 0;
    color: var(--login-white);
    background:
        radial-gradient(circle at 50% 0%, rgba(92, 202, 255, 0.18), transparent 20rem),
        linear-gradient(160deg, rgba(15, 47, 82, 0.98), rgba(5, 20, 40, 0.99));
}

body.premium-shell .premium-coupon-redeem__header .modal-title {
    margin-top: 0.2rem;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 850;
}

body.premium-shell .premium-coupon-redeem__header .btn-close {
    position: absolute;
    z-index: 3;
    top: 50%;
    inset-inline-end: 1.25rem;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0.75rem;
    filter: brightness(0) invert(1);
    transform: translateY(-50%);
}

body.premium-shell .premium-coupon-redeem__header .btn-close:focus-visible,
body.premium-shell .premium-coupon-confirm__header .btn-close:focus-visible {
    outline: 3px solid rgba(140, 221, 255, 0.9);
    outline-offset: 2px;
}

body.premium-shell .premium-coupon-brand-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

body.premium-shell .premium-coupon-brand-heading__logo,
body.premium-shell .premium-coupon-confirm__seal img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.premium-shell .premium-coupon-brand-heading__logo {
    width: 4rem;
    height: 4rem;
    padding: 0.38rem;
    flex: 0 0 4rem;
    border: 0;
    border-radius: 50%;
    background: rgba(2, 12, 27, 0.44);
    filter: drop-shadow(0 14px 30px rgba(35, 174, 232, 0.24));
}

body.premium-shell .premium-coupon-redeem__eyebrow {
    color: var(--login-gold-300);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.premium-shell .premium-coupon-redeem__body {
    padding: 1.4rem 1.5rem 1.2rem;
    background:
        radial-gradient(circle at 5% 0%, rgba(65, 184, 239, 0.12), transparent 27%),
        linear-gradient(180deg, #fff, #f4faff);
}

body.premium-shell .premium-coupon-redeem__intro {
    display: flex;
    margin-bottom: 1.15rem;
    align-items: center;
    gap: 0.85rem;
}

body.premium-shell .premium-coupon-redeem__sparkle {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 3rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.48);
    color: #fff;
    background:
        radial-gradient(circle at 28% 24%, rgba(255, 255, 255, 0.42), transparent 22%),
        linear-gradient(145deg, #0b3d91 0%, #1d71d8 58%, #42c2ef 100%);
    box-shadow:
        0 12px 26px rgba(20, 93, 190, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

body.premium-shell .premium-coupon-redeem__intro strong {
    display: block;
    color: #102f48;
    font-size: 1rem;
}

body.premium-shell .premium-coupon-redeem__intro p {
    margin: 0.25rem 0 0;
    color: #657b8e;
    font-size: 0.82rem;
    line-height: 1.5;
}

body.premium-shell .premium-coupon-redeem__code {
    padding: 1rem;
    border: 1px dashed rgba(31, 112, 213, 0.3);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.8);
}

body.premium-shell .premium-coupon-redeem__code label {
    color: #183d58;
    font-size: 0.78rem;
    font-weight: 800;
}

body.premium-shell .premium-coupon-redeem__input .form-control {
    min-height: 3rem;
    border-color: rgba(31, 112, 213, 0.25);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.premium-shell .premium-coupon-redeem__apply {
    min-width: 6rem;
    border: 0;
    color: #fff;
    background: linear-gradient(145deg, #176bd2, #0d3f9f);
}

body.premium-shell .premium-coupon-redeem__summary {
    display: grid;
    margin: 1rem 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

body.premium-shell .premium-coupon-redeem__summary > div {
    padding: 0.8rem;
    border: 1px solid rgba(38, 127, 189, 0.14);
    border-radius: 0.85rem;
    background: #f6fbfe;
}

body.premium-shell .premium-coupon-redeem__summary span,
body.premium-shell .premium-coupon-redeem__summary strong {
    display: block;
}

body.premium-shell .premium-coupon-redeem__summary span {
    color: #708496;
    font-size: 0.68rem;
    font-weight: 750;
}

body.premium-shell .premium-coupon-redeem__summary strong {
    margin-top: 0.25rem;
    color: #123c59;
    font-size: 1rem;
}

body.premium-shell .premium-coupon-redeem__summary .premium-coupon-redeem__total {
    border-color: rgba(36, 142, 222, 0.24);
    background: linear-gradient(145deg, #eef6ff, #e4f5ff);
}

body.premium-shell .premium-coupon-redeem__continue {
    min-height: 3rem;
    border: 0;
    color: #fff;
    font-weight: 850;
    background: linear-gradient(135deg, #08275d, #1d64d8 58%, #27a9ef);
    box-shadow: 0 12px 26px rgba(18, 95, 194, 0.22);
}

body.premium-shell .premium-coupon-redeem__continue:hover,
body.premium-shell .premium-coupon-redeem__continue:focus-visible {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

body.premium-shell .premium-coupon-redeem__gratitude {
    display: grid;
    position: relative;
    margin: 1.15rem 0 0;
    padding: 1rem 1rem 0.2rem;
    color: #315f82;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

body.premium-shell .premium-coupon-redeem__gratitude i {
    position: absolute;
    top: 1.32rem;
    left: calc(50% - 3.35rem);
    color: #258fdd;
}

body.premium-shell .premium-coupon-redeem__gratitude strong {
    color: #0a3970;
    font-size: 1.22rem;
    font-weight: 900;
    letter-spacing: -0.025em;
}

body.premium-shell .premium-coupon-redeem__gratitude span {
    margin-top: 0.15rem;
}

body.premium-shell .premium-coupon-redeem__code.is-applied {
    padding: 1rem;
    border-color: rgba(20, 143, 104, 0.25);
    background: linear-gradient(145deg, #effcf7, #f3fbff);
    box-shadow: 0 10px 24px rgba(20, 123, 103, 0.1);
}

body.premium-shell .premium-coupon-redeem__code.is-applied > label,
body.premium-shell .premium-coupon-redeem__code.is-applied .premium-coupon-redeem__input {
    display: none;
}

body.premium-shell .premium-coupon-redeem__code.is-applied #cuponFeedback {
    margin: 0 !important;
    color: #16845f !important;
    font-size: 1rem !important;
    text-align: center;
}

body.premium-shell .premium-coupon-redeem__type {
    width: fit-content;
    margin: 0.65rem auto 0;
    padding: 0.38rem 0.78rem;
    border: 1px solid rgba(31, 112, 213, 0.2);
    border-radius: 999px;
    color: #0b4a96;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    background: linear-gradient(145deg, #e8f2ff, #e5f8ff);
    box-shadow: 0 6px 15px rgba(31, 112, 213, 0.1);
}

body.premium-shell .premium-coupon-redeem__type[data-type="podcast_gratuito"],
body.premium-shell .premium-coupon-redeem__type[data-type="registro_podcast_gratuito"] {
    color: #075a9e;
    background: linear-gradient(145deg, #e4f3ff, #e6fbff);
}

body.premium-shell .premium-coupon-redeem__type[data-type="mes_gratis"] {
    color: #123f86;
    background: linear-gradient(145deg, #e7efff, #e2f8ff);
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-coupon-redeem__header,
    body.premium-shell .premium-coupon-redeem__body {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    body.premium-shell .premium-coupon-redeem__header {
        padding-inline-end: 4rem;
    }

    body.premium-shell .premium-coupon-redeem__header .btn-close {
        inset-inline-end: 1rem;
    }

    body.premium-shell .premium-coupon-redeem__summary {
        grid-template-columns: 1fr;
    }
}

body.premium-shell .premium-type-badge--premium {
    border-color: #d8b657;
    color: #f8d980;
    background: linear-gradient(145deg, #103f66, #061f38);
}

body.premium-shell .premium-type-badge--default {
    border-color: #c9d4db;
    color: #4a6170;
    background: #f1f5f7;
}

/* Detalle responsive de cupones: ficha premium ordenada. */
body.premium-shell #cupones-table > tbody > tr.child > td.child {
    padding: 1rem !important;
    background: linear-gradient(145deg, #f4f9fc, #edf5f9) !important;
    border-top: 1px solid rgba(20, 86, 124, 0.12);
}

body.premium-shell #cupones-table > tbody > tr.child ul.dtr-details {
    display: grid !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

body.premium-shell #cupones-table > tbody > tr.child ul.dtr-details > li {
    display: flex !important;
    min-width: 0;
    min-height: 4.25rem;
    padding: 0.85rem 1rem !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    border: 1px solid rgba(31, 101, 141, 0.12) !important;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 20px rgba(8, 47, 75, 0.07);
}

body.premium-shell #cupones-table > tbody > tr.child ul.dtr-details > li:last-child {
    grid-column: 1 / -1;
    align-items: center;
}

body.premium-shell #cupones-table > tbody > tr.child .dtr-title {
    flex: 0 0 auto;
    color: #6c8292;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

body.premium-shell #cupones-table > tbody > tr.child .dtr-data {
    min-width: 0;
    color: #0b314e;
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-align: right;
}

body.premium-shell #cupones-table > tbody > tr.child .dtr-data .btn {
    margin: 0.15rem;
}

@media (max-width: 767.98px) {
    body.premium-shell .premium-type-badge {
        min-height: 1.9rem;
        padding-inline: 0.78rem;
        white-space: normal;
    }

    body.premium-shell #cupones-table > tbody > tr.child ul.dtr-details {
        grid-template-columns: minmax(0, 1fr);
    }

    body.premium-shell #cupones-table > tbody > tr.child ul.dtr-details > li:last-child {
        grid-column: auto;
    }
}
body.premium-shell .premium-boolean-badge {
    display: inline-flex;
    min-width: 2.7rem;
    padding: 0.32rem 0.62rem;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1;
}

body.premium-shell .premium-boolean-badge--yes {
    border-color: rgba(25, 126, 91, 0.25);
    color: #125b43;
    background: #dff5eb;
}

body.premium-shell .premium-boolean-badge--no {
    border-color: rgba(70, 91, 107, 0.2);
    color: #344e60;
    background: #edf3f6;
}

body.premium-shell .premium-delivery-button {
    display: inline-flex;
    padding: 0.48rem 0.72rem;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid transparent;
    border-radius: 0.72rem;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
}

body.premium-shell .premium-delivery-button--accepted {
    border-color: rgba(25, 126, 91, 0.22);
    color: #125b43;
    background: #dff5eb;
}

body.premium-shell .premium-delivery-button--warning {
    border-color: rgba(178, 126, 17, 0.25);
    color: #76520b;
    background: #fff2c9;
}

body.premium-shell :is(
    .premium-delivery-button--type-estandar,
    .premium-coupon-history--type-estandar
) {
    --coupon-type-start: #267fbd;
    --coupon-type-end: #0b4779;
    --coupon-type-border: #65a9dc;
    --coupon-type-foreground: #ffffff;
    --coupon-type-shadow: rgba(11, 71, 121, 0.24);
}

body.premium-shell :is(
    .premium-delivery-button--type-podcast-gratuito,
    .premium-coupon-history--type-podcast-gratuito
) {
    --coupon-type-start: #8f65d4;
    --coupon-type-end: #5c3ba5;
    --coupon-type-border: #aa8be3;
    --coupon-type-foreground: #ffffff;
    --coupon-type-shadow: rgba(92, 59, 165, 0.24);
}

body.premium-shell :is(
    .premium-delivery-button--type-registro-gratuito,
    .premium-coupon-history--type-registro-gratuito
) {
    --coupon-type-start: #dc667b;
    --coupon-type-end: #a92f4c;
    --coupon-type-border: #ec8798;
    --coupon-type-foreground: #ffffff;
    --coupon-type-shadow: rgba(169, 47, 76, 0.24);
}

body.premium-shell :is(
    .premium-delivery-button--type-registro-podcast-gratuito,
    .premium-coupon-history--type-registro-podcast-gratuito
) {
    --coupon-type-start: #b84ea3;
    --coupon-type-end: #71358f;
    --coupon-type-border: #d77ab8;
    --coupon-type-foreground: #ffffff;
    --coupon-type-shadow: rgba(113, 53, 143, 0.25);
}

body.premium-shell :is(
    .premium-delivery-button--type-mes-gratis,
    .premium-coupon-history--type-mes-gratis
) {
    --coupon-type-start: #ffe59a;
    --coupon-type-end: #e6ad36;
    --coupon-type-border: #f3cf72;
    --coupon-type-foreground: #3f2a00;
    --coupon-type-shadow: rgba(199, 137, 24, 0.25);
}

body.premium-shell :is(
    .premium-delivery-button--type-default,
    .premium-coupon-history--type-default
) {
    --coupon-type-start: #f1f5f7;
    --coupon-type-end: #c9d4db;
    --coupon-type-border: #aebdc6;
    --coupon-type-foreground: #4a6170;
    --coupon-type-shadow: rgba(74, 97, 112, 0.2);
}

body.premium-shell #cupones-table .premium-delivery-button[class*="premium-delivery-button--type-"] {
    min-height: 2.15rem;
    padding: 0.55rem 0.8rem;
    border-color: var(--coupon-type-border);
    color: var(--coupon-type-foreground);
    background: linear-gradient(145deg, var(--coupon-type-start), var(--coupon-type-end));
    box-shadow: 0 6px 14px var(--coupon-type-shadow);
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

body.premium-shell #cupones-table .premium-delivery-button[class*="premium-delivery-button--type-"]:hover {
    color: var(--coupon-type-foreground);
    box-shadow: 0 9px 18px var(--coupon-type-shadow);
    transform: translateY(-1px);
}

body.premium-shell #cupones-table .premium-delivery-button[class*="premium-delivery-button--type-"]:focus-visible {
    outline: 3px solid var(--coupon-type-border);
    outline-offset: 3px;
}

body.premium-shell .premium-coupon-history .modal-content {
    border-top: 4px solid var(--coupon-type-border);
}

body.premium-shell .premium-coupon-history .modal-header {
    color: var(--coupon-type-foreground);
    background: linear-gradient(145deg, var(--coupon-type-start), var(--coupon-type-end));
}

body.premium-shell .premium-coupon-history .modal-header .fas {
    color: var(--coupon-type-foreground);
}

body.premium-shell .premium-coupon-history .alert-info {
    border-left: 4px solid var(--coupon-type-border);
    box-shadow: inset 3px 0 0 var(--coupon-type-start);
}

body.premium-shell .premium-notifications__item--coupon {
    border-inline-start-color: rgba(245, 217, 147, 0.58);
}

body.premium-shell .premium-notifications__item--coupon .premium-notifications__icon {
    color: #f5d993;
}

/* Desplegable de notificaciones: sistema visual compartido por usuario y administración. */
body.premium-shell .premium-notifications {
    width: min(27rem, calc(100vw - 1.5rem));
    max-height: min(37rem, calc(100dvh - 6rem));
    padding: 0.38rem;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(245, 217, 147, 0.68);
    border-radius: 1rem;
    background: linear-gradient(155deg, #0d3154 0%, #071328 68%, #030916 100%);
    box-shadow: 0 1.35rem 3.2rem rgba(3, 9, 22, 0.48), 0 0 0 1px rgba(92, 202, 255, 0.1) !important;
    scrollbar-color: rgba(245, 217, 147, 0.58) rgba(255, 255, 255, 0.06);
}

body.premium-shell .premium-notifications .dropdown-header {
    margin: -0.38rem -0.38rem 0.35rem;
    padding: 0.9rem 1rem 0.82rem;
    border-bottom: 1px solid rgba(245, 217, 147, 0.24);
    color: #f8fbff;
    background: linear-gradient(135deg, #030916, #0d3154);
    letter-spacing: 0.16em;
}

body.premium-shell .premium-notifications__item {
    position: relative;
    display: grid;
    min-height: 4.65rem;
    padding: 0.72rem 0.72rem 0.72rem 0.65rem;
    align-items: start;
    gap: 0.72rem;
    grid-template-columns: 2.4rem minmax(0, 1fr) auto;
    border: 1px solid transparent;
    border-inline-start: 3px solid transparent;
    border-radius: 0.78rem;
    color: #f8fbff;
    background: rgba(3, 9, 22, 0.24);
    box-shadow: inset 0 -1px 0 rgba(174, 222, 255, 0.08);
    white-space: normal;
    transition: color 0.22s ease, background-color 0.25s ease, border-color 0.22s ease, box-shadow 0.28s ease;
}

body.premium-shell .premium-notifications__item + .premium-notifications__item {
    margin-top: 0.24rem;
}

body.premium-shell .premium-notifications__item:hover {
    border-color: rgba(140, 221, 255, 0.42);
    color: #fff;
    background: color-mix(in srgb, #5ccaff 24%, #071328);
    box-shadow: inset 3px 0 0 rgba(245, 217, 147, 0.6), 0 0 1.1rem rgba(92, 202, 255, 0.12);
}

body.premium-shell .premium-notifications__item:focus,
body.premium-shell .premium-notifications__item:focus-visible {
    border-color: #8cddff;
    color: #fff;
    background: color-mix(in srgb, #5ccaff 34%, #071328);
    box-shadow: inset 3px 0 0 #f5d993, 0 0 0 2px rgba(140, 221, 255, 0.5), 0 0 1.2rem rgba(92, 202, 255, 0.2);
    outline: none;
}

body.premium-shell .premium-notifications__item.is-current,
body.premium-shell .premium-notifications__item[aria-current="true"] {
    border-color: rgba(140, 221, 255, 0.78);
    border-inline-start-color: #f5d993;
    background: color-mix(in srgb, #5ccaff 48%, #071328);
    box-shadow: inset 3px 0 0 #f5d993, 0 0 1.25rem rgba(92, 202, 255, 0.2);
}

body.premium-shell .premium-notifications__icon {
    width: 2.4rem;
    height: 2.4rem;
    flex-basis: 2.4rem;
    border-color: rgba(245, 217, 147, 0.48);
    color: #f5d993;
    background: rgba(92, 202, 255, 0.12);
    box-shadow: inset 0 0 0 1px rgba(92, 202, 255, 0.08);
    font-size: 1.12rem;
}

body.premium-shell .premium-notifications__item:is(:hover, :focus, .is-current) .premium-notifications__icon {
    border-color: rgba(245, 217, 147, 0.82);
    background: rgba(3, 9, 22, 0.45);
    box-shadow: 0 0 0.9rem rgba(92, 202, 255, 0.25);
}

body.premium-shell .premium-notifications__item--error .premium-notifications__icon {
    color: #ffaaa6;
    border-color: rgba(255, 170, 166, 0.5);
}

body.premium-shell .premium-notifications__item--success .premium-notifications__icon {
    color: #a8e7ff;
}

body.premium-shell .premium-notifications__copy {
    display: grid;
    min-width: 0;
    gap: 0.18rem;
}

body.premium-shell .premium-notifications__title {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 680;
    line-height: 1.3;
}

body.premium-shell .premium-notifications__item.is-unread .premium-notifications__title {
    font-weight: 820;
}

body.premium-shell .premium-notifications__unread-dot {
    width: 0.48rem;
    height: 0.48rem;
    flex: 0 0 0.48rem;
    border-radius: 50%;
    background: #f5d993;
    box-shadow: 0 0 0 3px rgba(245, 217, 147, 0.12), 0 0 0.65rem rgba(245, 217, 147, 0.28);
}

body.premium-shell .premium-notifications__summary,
body.premium-shell .premium-notifications__coupon-benefit {
    color: #d8edf7;
    font-size: 0.76rem;
    line-height: 1.42;
    overflow-wrap: anywhere;
}

body.premium-shell .premium-notifications__date {
    color: #9fc2d5;
    font-size: 0.69rem;
    line-height: 1.3;
}

body.premium-shell .premium-notifications__coupon-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.38rem;
}

body.premium-shell .premium-notifications__coupon-meta code,
body.premium-shell .premium-notifications__coupon-state {
    display: inline-flex;
    min-height: 1.4rem;
    padding: 0.18rem 0.45rem;
    align-items: center;
    border: 1px solid rgba(245, 217, 147, 0.42);
    border-radius: 999px;
    color: #f5d993;
    background: rgba(3, 9, 22, 0.42);
    font-size: 0.65rem;
    font-weight: 800;
    line-height: 1;
}

body.premium-shell .premium-notifications__coupon-state--available {
    color: #c8efff;
    border-color: rgba(92, 202, 255, 0.58);
}

body.premium-shell .premium-notifications__coupon-state--expired,
body.premium-shell .premium-notifications__coupon-state--unavailable {
    color: #ffb4af;
    border-color: rgba(255, 140, 134, 0.5);
}

body.premium-shell .premium-notifications__current-mark {
    align-self: center;
    color: #f5d993;
    font-size: 0.72rem;
}

body.premium-shell .premium-notifications .premium-dropdown__footer {
    display: flex;
    min-height: 44px;
    margin-top: 0.38rem;
    padding: 0.72rem 0.9rem;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    border: 1px solid rgba(245, 217, 147, 0.48);
    border-radius: 0.72rem;
    color: #f8fbff;
    background: #071328;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

@media (max-width: 767.98px) {
    body.premium-shell .premium-notifications {
        top: calc(4.25rem + 0.65rem) !important;
        right: 0.75rem !important;
        left: 0.75rem !important;
        width: auto;
        max-height: calc(100dvh - 5.75rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.premium-shell .premium-notifications__item {
        transition: none;
    }
}

body.premium-shell :is(
    .premium-coupon-history--type-mes-gratis,
    .premium-coupon-history--type-default
) .modal-header .btn-close {
    filter: none;
}

/* Confirmación final de cupones: misma familia visual, segundo nivel de decisión. */
body.premium-shell .premium-coupon-confirm {
    --login-night-950: #030916;
    --login-night-900: #071328;
    --login-gold-300: #f5d993;
    --login-white: #f8fbff;
    --login-border: rgba(174, 222, 255, 0.18);
    overflow: hidden;
    border: 1px solid var(--login-border);
    border-radius: 30px;
    background: linear-gradient(155deg, #ffffff 0%, #f5faff 58%, #edf8ff 100%);
    box-shadow: 0 32px 90px rgba(0, 5, 17, 0.56);
}

body.premium-shell .premium-coupon-confirm__header {
    position: relative;
    min-height: 7.2rem;
    padding: 1.35rem 1.5rem;
    padding-inline-end: 5rem;
    align-items: center;
    border: 0;
    color: var(--login-white);
    background:
        radial-gradient(circle at 50% 0%, rgba(92, 202, 255, 0.18), transparent 20rem),
        linear-gradient(160deg, rgba(15, 47, 82, 0.98), rgba(5, 20, 40, 0.99));
}

body.premium-shell .premium-coupon-confirm[data-state="free"] .premium-coupon-confirm__header {
    background:
        radial-gradient(circle at 50% 0%, rgba(92, 202, 255, 0.18), transparent 20rem),
        linear-gradient(160deg, rgba(15, 47, 82, 0.98), rgba(5, 20, 40, 0.99));
}

body.premium-shell .premium-coupon-confirm__header::after {
    position: absolute;
    right: -2.5rem;
    bottom: -4.8rem;
    width: 11rem;
    height: 11rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    content: "";
}

body.premium-shell .premium-coupon-confirm__header > div {
    position: relative;
    z-index: 1;
}

body.premium-shell .premium-coupon-confirm__seal {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    margin-right: 0.75rem;
    padding: 0.38rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    color: var(--login-white);
    background: rgba(2, 12, 27, 0.44);
    box-shadow: none;
    filter: drop-shadow(0 14px 30px rgba(35, 174, 232, 0.24));
}

body.premium-shell .premium-coupon-confirm__header h5 {
    display: inline;
    margin: 0;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 850;
    letter-spacing: -0.025em;
}

body.premium-shell .premium-coupon-confirm__header .btn-close {
    position: absolute;
    z-index: 3;
    top: 50%;
    inset-inline-end: 1.25rem;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0.75rem;
    filter: invert(1) grayscale(1) brightness(2);
    opacity: 0.78;
    transform: translateY(-50%);
}

body.premium-shell .premium-coupon-confirm__body {
    padding: 1.5rem;
}

body.premium-shell .premium-coupon-confirm__hero {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

body.premium-shell .premium-coupon-confirm__icon {
    display: inline-flex;
    width: 3.5rem;
    height: 3.5rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 3.5rem;
    border-radius: 1rem;
    color: #fff;
    font-size: 1.3rem;
    background: linear-gradient(145deg, #124fb3, #2ba9ef);
    box-shadow: 0 12px 24px rgba(31, 112, 213, 0.24);
}

body.premium-shell .premium-coupon-confirm[data-state="free"] .premium-coupon-confirm__icon {
    background: linear-gradient(145deg, #1767d4, #42c4ef);
    box-shadow: 0 12px 24px rgba(31, 112, 213, 0.22);
}

body.premium-shell .premium-coupon-confirm__eyebrow {
    display: block;
    margin-bottom: 0.18rem;
    color: #1767b7;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.premium-shell .premium-coupon-confirm__hero strong {
    display: block;
    color: #102f4a;
    font-size: 1.05rem;
    line-height: 1.35;
}

body.premium-shell .premium-coupon-confirm__message {
    position: relative;
    margin-top: 1.2rem;
    padding: 1rem 1rem 1rem 1.15rem;
    overflow: hidden;
    border: 1px solid rgba(31, 112, 213, 0.16);
    border-radius: 1rem;
    color: #385469;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1.6;
    background: rgba(241, 248, 255, 0.92);
}

body.premium-shell .premium-coupon-confirm__message::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.28rem;
    content: "";
    background: linear-gradient(#1748c9, #31b7ed);
}

body.premium-shell .premium-coupon-confirm__response {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.85rem;
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.45;
}

body.premium-shell .premium-coupon-confirm__response.is-error {
    border: 1px solid rgba(169, 38, 58, 0.24);
    color: #8d2436;
    background: #fff0f2;
}

body.premium-shell .premium-coupon-confirm__response.is-success {
    border: 1px solid rgba(22, 116, 78, 0.22);
    color: #12613f;
    background: #eaf8f1;
}

body.premium-shell .podcast-image--fallback {
    padding: clamp(2rem, 8vw, 5rem);
    background: linear-gradient(145deg, #08264a, #0f5ca0 58%, #2ba9ef);
    object-fit: contain;
}

body.premium-shell .premium-coupon-confirm[data-state="free"] .premium-coupon-confirm__message {
    border-color: rgba(31, 112, 213, 0.18);
    background: linear-gradient(145deg, #edf6ff, #effcff);
}

body.premium-shell .premium-coupon-confirm__gratitude {
    display: grid;
    position: relative;
    margin: 1rem 0 0;
    padding-top: 0.75rem;
    color: #315f82;
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.5;
    text-align: center;
}

body.premium-shell .premium-coupon-confirm__gratitude i {
    position: absolute;
    top: 1.08rem;
    left: calc(50% - 3.35rem);
    color: #258fdd;
}

body.premium-shell .premium-coupon-confirm__gratitude strong {
    color: #0a3970;
    font-size: 1.18rem;
    font-weight: 900;
    letter-spacing: -0.025em;
}

body.premium-shell .premium-coupon-confirm__gratitude span {
    margin-top: 0.12rem;
}

body.premium-shell .premium-coupon-confirm__footer {
    padding: 1rem 1.5rem 1.35rem;
    gap: 0.65rem;
    border-top: 1px solid rgba(31, 90, 128, 0.09);
    background: rgba(249, 251, 253, 0.76);
}

body.premium-shell .premium-coupon-confirm__cancel,
body.premium-shell .premium-coupon-confirm__accept {
    min-height: 2.8rem;
    padding: 0.65rem 1.05rem;
    border: 0;
    border-radius: 0.82rem;
    font-weight: 820;
}

body.premium-shell .premium-coupon-confirm__cancel {
    color: #fff;
    background: linear-gradient(145deg, #cf4a5a, #a9263a);
    box-shadow: 0 8px 18px rgba(169, 38, 58, 0.18);
}

body.premium-shell .premium-coupon-confirm__accept {
    position: relative;
    overflow: hidden;
    color: #031221;
    border: 1px solid rgba(164, 228, 255, 0.55);
    border-radius: 14px;
    letter-spacing: 0.035em;
    background: linear-gradient(105deg, #87deff, #45c0f3 52%, #7cd9ff);
    box-shadow: 0 14px 34px rgba(31, 166, 224, 0.23), inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

body.premium-shell .premium-coupon-confirm[data-state="free"] .premium-coupon-confirm__accept {
    background: linear-gradient(105deg, #87deff, #45c0f3 52%, #7cd9ff);
}

body.premium-shell .premium-coupon-confirm__accept::after {
    position: absolute;
    top: -100%;
    left: -35%;
    width: 25%;
    height: 300%;
    content: "";
    background: rgba(255, 255, 255, 0.48);
    transform: rotate(24deg);
    transition: left 450ms ease;
}

body.premium-shell .premium-coupon-confirm__cancel:hover,
body.premium-shell .premium-coupon-confirm__cancel:focus-visible {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

body.premium-shell .premium-coupon-confirm__accept:hover,
body.premium-shell .premium-coupon-confirm__accept:focus-visible {
    color: #031221;
    border-color: rgba(164, 228, 255, 0.7);
    filter: saturate(1.08);
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(31, 166, 224, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

body.premium-shell .premium-coupon-confirm__accept:hover::after {
    left: 120%;
}

body.premium-shell .premium-coupon-confirm__accept:focus-visible {
    outline: 3px solid rgba(140, 221, 255, 0.9);
    outline-offset: 3px;
}

body.premium-shell .premium-coupon-confirm__accept:disabled {
    color: rgba(3, 18, 33, 0.7);
    background: linear-gradient(105deg, #b6d5e1, #8bbcca 52%, #afd1dc);
    box-shadow: none;
    cursor: not-allowed;
    filter: saturate(0.45);
    opacity: 0.78;
    transform: none;
}

body.premium-shell .premium-coupon-confirm__accept:disabled:hover,
body.premium-shell .premium-coupon-confirm__accept:disabled:focus {
    color: rgba(3, 18, 33, 0.7);
    border-color: transparent;
    box-shadow: none;
    filter: saturate(0.45);
    transform: none;
}

body.premium-shell .premium-coupon-confirm__accept:disabled::after {
    display: none;
}

@media (max-width: 575.98px) {
    body.premium-shell .premium-coupon-confirm__header,
    body.premium-shell .premium-coupon-confirm__body,
    body.premium-shell .premium-coupon-confirm__footer {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    body.premium-shell .premium-coupon-confirm__header {
        padding-inline-end: 4rem;
    }

    body.premium-shell .premium-coupon-confirm__header .btn-close {
        inset-inline-end: 1rem;
    }

    body.premium-shell .premium-coupon-confirm__footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    body.premium-shell .premium-coupon-confirm__cancel,
    body.premium-shell .premium-coupon-confirm__accept {
        width: 100%;
    }
}
/* Recorrido administrativo de solicitudes de experiencia */
.experience-admin-detail {
    --experience-navy: #123453;
    --experience-gold: #b48b3c;
    --experience-green: #287a55;
    --experience-red: #a83f46;
    --experience-amber: #a66c16;
    --experience-muted: #73808c;
    --experience-line: #dce4ea;
}

.experience-section-heading p {
    margin: 0 0 .35rem;
    color: var(--experience-gold);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.experience-section-heading h2 {
    margin: 0;
    color: var(--experience-navy);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 800;
}

.experience-journey,
.experience-activity,
.experience-relations {
    width: 100%;
    border: 1px solid #dfe7ed;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .65rem 1.8rem rgba(18, 52, 83, .08);
    box-sizing: border-box;
}

.experience-journey {
    padding: clamp(1.2rem, 2.5vw, 2rem);
    overflow: hidden;
}

.experience-journey__track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem 1rem;
    margin: 1.6rem 0 0;
    padding: 0;
    list-style: none;
}

.experience-journey__step {
    position: relative;
    min-width: 0;
    padding-top: 2.85rem;
}

.experience-journey__step::before {
    content: "";
    position: absolute;
    top: 1.2rem;
    left: 1.35rem;
    right: calc(-1rem - 1.35rem);
    height: 2px;
    background: var(--experience-line);
}

.experience-journey__step:nth-child(4n)::before,
.experience-journey__step:last-child::before {
    display: none;
}

.experience-journey__icon {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 2px solid var(--experience-muted);
    border-radius: 50%;
    background: #fff;
    color: var(--experience-muted);
}

.experience-journey__card {
    height: 100%;
    padding: 1rem;
    border: 1px solid #e3e9ee;
    border-radius: .85rem;
    background: #fbfcfd;
    box-sizing: border-box;
}

.experience-journey__card h3,
.experience-event-card h3,
.experience-relation-card h3 {
    margin: .25rem 0;
    color: var(--experience-navy);
    font-size: 1rem;
    font-weight: 800;
}

.experience-journey__card time,
.experience-event-card time {
    display: block;
    color: #667580;
    font-size: .82rem;
}

.experience-journey__card p,
.experience-event-card p {
    margin: .55rem 0 0;
    color: #455765;
    line-height: 1.5;
}

.experience-journey__card a {
    display: inline-block;
    margin-top: .7rem;
    color: var(--experience-navy);
    font-weight: 700;
}

.experience-journey__state {
    display: inline-flex;
    padding: .2rem .5rem;
    border-radius: 999px;
    background: #edf1f4;
    color: var(--experience-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.experience-journey__step--completed .experience-journey__icon {
    border-color: var(--experience-green);
    background: var(--experience-green);
    color: #fff;
}

.experience-journey__step--completed .experience-journey__state {
    background: #e4f4ec;
    color: #1e6747;
}

.experience-journey__step--rejected .experience-journey__icon {
    border-color: var(--experience-red);
    background: var(--experience-red);
    color: #fff;
}

.experience-journey__step--rejected .experience-journey__state {
    background: #fae9eb;
    color: #873039;
}

.experience-journey__step--expired .experience-journey__icon {
    border-color: var(--experience-amber);
    background: #fff4dd;
    color: var(--experience-amber);
}

.experience-journey__step--expired .experience-journey__state,
.experience-journey__step--attention .experience-journey__state {
    background: #fff2d3;
    color: #83550f;
}

.experience-journey__step--attention .experience-journey__icon {
    border-color: var(--experience-gold);
    background: var(--experience-gold);
    color: #fff;
}

.experience-indicator-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.experience-indicator-grid > div {
    min-width: 0;
    padding: .8rem;
    border: 1px solid #e2e8ed;
    border-radius: .75rem;
    background: #f9fbfc;
}

.experience-indicator-grid span,
.experience-indicator-grid strong {
    display: block;
}

.experience-indicator-grid span {
    color: #667580;
    font-size: .76rem;
}

.experience-indicator-grid strong {
    margin-top: .2rem;
    color: var(--experience-navy);
    overflow-wrap: anywhere;
}

.experience-activity > summary,
.experience-relations > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    color: var(--experience-navy);
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.experience-activity > summary::-webkit-details-marker,
.experience-relations > summary::-webkit-details-marker {
    display: none;
}

.experience-activity[open] > summary i,
.experience-relations[open] > summary i {
    transform: rotate(180deg);
}

.experience-activity > summary i,
.experience-relations > summary i {
    transition: transform .2s ease;
}

.experience-activity__list,
.experience-relations__grid {
    display: grid;
    gap: 1rem;
    padding: 0 1.25rem 1.25rem;
}

.experience-event-card {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: .85rem;
    padding: 1rem;
    border: 1px solid #e3e9ee;
    border-radius: .8rem;
    background: #fbfcfd;
}

.experience-event-card__icon {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 50%;
    background: #e4f4ec;
    color: var(--experience-green);
}

.experience-event-card small {
    display: block;
    margin-top: .55rem;
    color: #687783;
}

.experience-relations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.experience-relation-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #e3e9ee;
    border-radius: .8rem;
    background: #fbfcfd;
}

.experience-relation-card__type {
    margin: 0;
    color: var(--experience-gold);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.experience-relation-card dl {
    margin: .8rem 0;
}

.experience-relation-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem 0;
    border-bottom: 1px solid #e7ecef;
}

.experience-relation-card dt {
    color: #667580;
    font-weight: 600;
}

.experience-relation-card dd {
    margin: 0;
    color: var(--experience-navy);
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
    .experience-journey__track {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .experience-journey__step:nth-child(4n)::before {
        display: block;
    }

    .experience-journey__step:nth-child(3n)::before {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .experience-journey__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .experience-journey__step:nth-child(3n)::before {
        display: block;
    }

    .experience-journey__step:nth-child(2n)::before {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .experience-journey__track,
    .experience-relations__grid,
    .experience-indicator-grid {
        grid-template-columns: 1fr;
    }

    .experience-journey__track {
        gap: 0;
    }

    .experience-journey__step {
        min-height: 5.25rem;
        padding: 0 0 1rem 3.25rem;
    }

    .experience-journey__step::before,
    .experience-journey__step:nth-child(2n)::before,
    .experience-journey__step:nth-child(3n)::before,
    .experience-journey__step:nth-child(4n)::before {
        display: block;
        top: 2.5rem;
        bottom: 0;
        left: 1.2rem;
        right: auto;
        width: 2px;
        height: auto;
    }

    .experience-journey__step:last-child::before {
        display: none;
    }

    .experience-relation-card dl div {
        display: block;
    }

    .experience-relation-card dd {
        text-align: left;
    }
}


/* Acciones administrativas de solicitudes de experiencia */
.experience-admin-actions {
    display: grid;
    gap: .9rem;
    width: 100%;
}

.experience-admin-actions__primary {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.experience-admin-actions__primary form,
.experience-reject-form {
    margin: 0;
}

.experience-admin-actions__primary .btn,
.experience-reject-form__button {
    min-height: 3.35rem;
    border-radius: .9rem;
    font-weight: 800;
    white-space: nowrap;
}

.experience-reject-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: stretch;
    width: 100%;
}

.experience-reject-form .form-control {
    min-width: 0;
    min-height: 3.35rem;
    border-radius: .9rem;
}

.experience-reject-form__button {
    min-width: 15.5rem;
    padding-right: 1.4rem;
    padding-left: 1.4rem;
}

@media (max-width: 767.98px) {
    .experience-admin-actions__primary,
    .experience-admin-actions__primary form,
    .experience-admin-actions__primary .btn {
        width: 100%;
    }

    .experience-reject-form {
        grid-template-columns: 1fr;
    }

    .experience-reject-form__button {
        width: 100%;
        min-width: 0;
    }
}

/* === SOLICITUDES DE EXPERIENCIA · LISTADO V2 === */

.experience-admin-index {
    --experience-index-navy: #123453;
    --experience-index-deep: #082d49;
    --experience-index-blue: #176b93;
    --experience-index-gold: #b48b3c;
    --experience-index-green: #287a55;
    --experience-index-red: #a83f46;
    --experience-index-amber: #a66c16;
    --experience-index-text: #344b5c;
    --experience-index-muted: #6b7d89;
    --experience-index-line: #dce6ec;

    position: relative;
    padding-right: clamp(.75rem, 2vw, 1.5rem);
    padding-left: clamp(.75rem, 2vw, 1.5rem);
}

.experience-admin-index::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at 92% 4%, rgba(23, 107, 147, .11), transparent 26rem),
        linear-gradient(180deg, #f8fbfd 0%, #edf5f8 100%);
}

.experience-index-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-height: 12.5rem;
    margin-bottom: 1.4rem;
    padding: clamp(1.5rem, 4vw, 2.7rem);
    overflow: hidden;
    border: 1px solid rgba(180, 139, 60, .35);
    border-radius: 1.5rem;
    background:
        linear-gradient(130deg, rgba(8, 45, 73, .99), rgba(18, 77, 112, .96));
    box-shadow: 0 1.25rem 2.8rem rgba(8, 45, 73, .18);
}

.experience-index-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 23rem;
    height: 23rem;
    top: -15rem;
    right: -4rem;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    box-shadow:
        0 0 0 3.8rem rgba(255, 255, 255, .04),
        0 0 0 7.5rem rgba(255, 255, 255, .025);
}

.experience-index-eyebrow {
    margin: 0 0 .6rem;
    color: #efd89b;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .15em;
}

.experience-index-hero h1 {
    margin: 0 0 .65rem;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 850;
    letter-spacing: -.04em;
}

.experience-index-intro {
    max-width: 49rem;
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 1.05rem;
    line-height: 1.6;
}

.experience-index-summary {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(9.5rem, 1fr));
    gap: .8rem;
}

.experience-index-summary__item {
    display: flex;
    min-height: 5.2rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: .8rem 1rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    text-align: center;
    backdrop-filter: blur(.6rem);
}

.experience-index-summary__item span {
    font-size: .72rem;
    font-weight: 750;
    opacity: .82;
}

.experience-index-summary__item strong {
    margin-top: .15rem;
    font-size: 1.7rem;
    line-height: 1;
}

.experience-index-summary__item--cleanup {
    flex-direction: row;
    gap: .75rem;
    border-color: rgba(239, 216, 155, .38);
    background: rgba(180, 139, 60, .15);
}

.experience-index-summary__item--cleanup i {
    color: #efd89b;
    font-size: 1.35rem;
}

.experience-index-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 0 0 1.35rem;
    padding: .85rem;
    border: 1px solid var(--experience-index-line);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 .55rem 1.4rem rgba(18, 52, 83, .06);
}

.experience-index-filter {
    display: inline-flex;
    min-height: 2.9rem;
    align-items: center;
    justify-content: center;
    padding: .6rem 1rem;
    border: 1px solid #b8d0de;
    border-radius: .85rem;
    background: #fff;
    color: var(--experience-index-navy);
    font-weight: 800;
    text-decoration: none;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        color .18s ease;
}

.experience-index-filter:hover,
.experience-index-filter:focus-visible {
    border-color: var(--experience-index-gold);
    color: var(--experience-index-deep);
    transform: translateY(-.08rem);
    text-decoration: none;
}

.experience-index-filter--active {
    border-color: var(--experience-index-navy);
    background: var(--experience-index-navy);
    color: #fff;
    box-shadow: 0 .5rem 1rem rgba(18, 52, 83, .15);
}

.experience-index-filter--active:hover,
.experience-index-filter--active:focus-visible {
    background: var(--experience-index-deep);
    color: #fff;
}

.experience-request-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
}

.experience-request-card {
    --experience-card-status: var(--experience-index-blue);
    --experience-card-status-bg: #eaf4fa;

    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--experience-index-line);
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 .9rem 2.2rem rgba(18, 52, 83, .08);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.experience-request-card:hover {
    border-color: rgba(180, 139, 60, .45);
    transform: translateY(-.18rem);
    box-shadow: 0 1.15rem 2.6rem rgba(18, 52, 83, .13);
}

.experience-request-card--approved,
.experience-request-card--claimed {
    --experience-card-status: var(--experience-index-green);
    --experience-card-status-bg: #e4f4ec;
}

.experience-request-card--invitation-sent {
    --experience-card-status: #1b658c;
    --experience-card-status-bg: #e8f3f8;
}

.experience-request-card--rejected {
    --experience-card-status: var(--experience-index-red);
    --experience-card-status-bg: #fae9eb;
}

.experience-request-card--expired {
    --experience-card-status: var(--experience-index-amber);
    --experience-card-status-bg: #fff2d8;
}

.experience-request-card__header {
    display: flex;
    min-height: 4.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.1rem;
    border-bottom: 1px solid var(--experience-index-line);
    background:
        linear-gradient(180deg, #fff, #f6fafc);
}

.experience-request-card__statuses {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.experience-request-status,
.experience-request-cleanup {
    display: inline-flex;
    padding: .32rem .65rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .035em;
}

.experience-request-status {
    background: var(--experience-card-status-bg);
    color: var(--experience-card-status);
}

.experience-request-cleanup {
    background: #fff0c7;
    color: #805600;
}

.experience-request-card__header time {
    flex: 0 0 auto;
    color: var(--experience-index-muted);
    font-size: .8rem;
    font-weight: 650;
}

.experience-request-card__body {
    display: grid;
    grid-template-columns: minmax(15rem, .9fr) minmax(0, 1.1fr);
    gap: 1.25rem;
    padding: 1.25rem;
}

.experience-request-person {
    display: flex;
    min-width: 0;
    gap: .9rem;
}

.experience-request-person__avatar {
    display: grid;
    width: 3.4rem;
    height: 3.4rem;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(180, 139, 60, .35);
    border-radius: 50%;
    background:
        linear-gradient(145deg, var(--experience-index-navy), var(--experience-index-blue));
    color: #fff;
    font-size: 1.25rem;
    font-weight: 850;
    box-shadow: 0 .5rem 1rem rgba(18, 52, 83, .15);
}

.experience-request-person__content {
    min-width: 0;
}

.experience-request-person__label {
    margin: 0 0 .2rem;
    color: var(--experience-index-gold);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.experience-request-person h2 {
    margin: 0 0 .65rem;
    color: var(--experience-index-navy);
    font-size: 1.15rem;
    font-weight: 850;
    line-height: 1.3;
}

.experience-request-person a {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: .45rem;
    margin-top: .35rem;
    color: var(--experience-index-text);
    font-size: .88rem;
    line-height: 1.4;
    text-decoration: none;
}

.experience-request-person a:hover {
    color: var(--experience-index-blue);
}

.experience-request-person a i {
    width: 1rem;
    flex: 0 0 auto;
    margin-top: .15rem;
    color: var(--experience-index-gold);
    text-align: center;
}

.experience-request-person a span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.experience-request-card__data {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin: 0;
}

.experience-request-card__data > div {
    min-width: 0;
    padding: .7rem;
    border: 1px solid #e4ebef;
    border-radius: .75rem;
    background: #f9fbfc;
}

.experience-request-card__data dt {
    color: var(--experience-index-muted);
    font-size: .7rem;
    font-weight: 750;
}

.experience-request-card__data dd {
    margin: .2rem 0 0;
    color: var(--experience-index-navy);
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.experience-request-card__footer {
    display: flex;
    min-height: 4.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.1rem;
    border-top: 1px solid var(--experience-index-line);
    background: #f7fafb;
}

.experience-request-card__footer p {
    margin: 0;
    color: var(--experience-index-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.experience-request-detail-button {
    display: inline-flex;
    min-height: 3rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .65rem 1rem;
    border: 1px solid var(--experience-index-gold);
    border-radius: .85rem;
    background: var(--experience-index-navy);
    color: #fff;
    font-weight: 850;
    text-decoration: none;
    box-shadow: 0 .55rem 1.1rem rgba(18, 52, 83, .14);
    transition:
        transform .18s ease,
        background .18s ease;
}

.experience-request-detail-button:hover,
.experience-request-detail-button:focus-visible {
    background: var(--experience-index-deep);
    color: #fff;
    transform: translateY(-.08rem);
    text-decoration: none;
}

.experience-request-empty {
    grid-column: 1 / -1;
    padding: 3.25rem 1.25rem;
    border: 1px dashed #c7d7e0;
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .82);
    color: var(--experience-index-muted);
    text-align: center;
}

.experience-request-empty__icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1rem;
    place-items: center;
    border-radius: 50%;
    background: #eaf4f8;
    color: var(--experience-index-blue);
    font-size: 1.4rem;
}

.experience-request-empty h2 {
    margin: 0 0 .45rem;
    color: var(--experience-index-navy);
    font-size: 1.25rem;
}

.experience-request-empty p {
    margin: 0;
}

.experience-index-pagination {
    margin-top: 1.35rem;
}

@media (max-width: 1199.98px) {
    .experience-index-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .experience-index-summary {
        width: 100%;
    }

    .experience-request-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .experience-admin-index {
        padding-right: .55rem;
        padding-left: .55rem;
    }

    .experience-index-hero {
        padding: 1.4rem 1.15rem;
        border-radius: 1.15rem;
    }

    .experience-index-summary {
        grid-template-columns: 1fr;
    }

    .experience-index-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .experience-index-filter {
        width: 100%;
        padding-right: .6rem;
        padding-left: .6rem;
        font-size: .85rem;
        text-align: center;
    }

    .experience-request-card {
        border-radius: 1rem;
    }

    .experience-request-card__header,
    .experience-request-card__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .experience-request-card__body {
        grid-template-columns: 1fr;
    }

    .experience-request-card__data {
        grid-template-columns: 1fr;
    }

    .experience-request-detail-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .experience-index-filters {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .experience-admin-index *,
    .experience-admin-index *::before,
    .experience-admin-index *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* Corrección de contraste del título de Solicitudes de experiencia */
body.premium-shell .experience-admin-index .experience-index-hero h1,
.experience-admin-index .experience-index-hero h1 {
    color: #ffffff !important;
    text-shadow: 0 .2rem .65rem rgba(0, 0, 0, .16);
}


/* Buscador del listado de solicitudes de experiencia */
.experience-index-search {
    display: grid;
    flex: 1 1 31rem;
    grid-template-columns: minmax(15rem, 1fr) auto auto;
    gap: .55rem;
    align-items: center;
    min-width: 21rem;
    margin-left: auto;
}

.experience-index-search__field {
    position: relative;
    min-width: 0;
}

.experience-index-search__field i {
    position: absolute;
    top: 50%;
    left: 1rem;
    color: var(--experience-index-gold);
    pointer-events: none;
    transform: translateY(-50%);
}

.experience-index-search__field input {
    width: 100%;
    min-height: 2.9rem;
    padding: .65rem 1rem .65rem 2.75rem;
    border: 1px solid #b8d0de;
    border-radius: .85rem;
    background: #fff;
    color: var(--experience-index-navy);
    font: inherit;
    box-sizing: border-box;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.experience-index-search__field input::placeholder {
    color: #718492;
}

.experience-index-search__field input:focus {
    border-color: var(--experience-index-gold);
    outline: 0;
    box-shadow: 0 0 0 .22rem rgba(180, 139, 60, .16);
}

.experience-index-search__submit {
    min-height: 2.9rem;
    padding: .6rem 1.15rem;
    border: 1px solid var(--experience-index-navy);
    border-radius: .85rem;
    background: var(--experience-index-navy);
    color: #fff;
    font-weight: 850;
    cursor: pointer;
    box-shadow: 0 .45rem 1rem rgba(18, 52, 83, .13);
}

.experience-index-search__submit:hover,
.experience-index-search__submit:focus-visible {
    border-color: var(--experience-index-gold);
    background: var(--experience-index-deep);
}

.experience-index-search__clear {
    display: grid;
    width: 2.9rem;
    height: 2.9rem;
    place-items: center;
    border: 1px solid #c9d7df;
    border-radius: .85rem;
    background: #fff;
    color: var(--experience-index-red);
    text-decoration: none;
}

.experience-index-search__clear:hover,
.experience-index-search__clear:focus-visible {
    border-color: var(--experience-index-red);
    background: #fae9eb;
    color: var(--experience-index-red);
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .experience-index-search {
        flex-basis: 100%;
        width: 100%;
        min-width: 0;
        margin-left: 0;
    }
}

@media (max-width: 767.98px) {
    .experience-index-search {
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .experience-index-search__clear {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .experience-index-search {
        grid-template-columns: 1fr;
    }

    .experience-index-search__submit,
    .experience-index-search__clear {
        width: 100%;
    }
}


/* Histórico de solicitudes de experiencia */
.experience-index-filter--history {
    gap: .5rem;
    border-color: rgba(180, 139, 60, .55);
}

.experience-request-archived {
    display: inline-flex;
    padding: .32rem .65rem;
    border-radius: 999px;
    background: #ece8f5;
    color: #5c477e;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .035em;
}

.experience-request-card__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: stretch;
    gap: .55rem;
}

.experience-request-card__actions form {
    display: flex;
    margin: 0;
}

.experience-request-archive-button,
.experience-request-restore-button {
    display: grid;
    width: 3rem;
    min-width: 3rem;
    min-height: 3rem;
    place-items: center;
    border-radius: .85rem;
    font-size: 1rem;
    cursor: pointer;
    transition:
        transform .18s ease,
        background .18s ease,
        color .18s ease,
        border-color .18s ease;
}

.experience-request-archive-button {
    border: 1px solid #c93443;
    background: #fff;
    color: #c93443;
    box-shadow: 0 .45rem 1rem rgba(169, 48, 61, .10);
}

.experience-request-archive-button:hover,
.experience-request-archive-button:focus-visible {
    border-color: #b72a39;
    background: #c93443;
    color: #fff;
    transform: translateY(-.08rem);
}

.experience-request-restore-button {
    border: 1px solid #287a55;
    background: #fff;
    color: #287a55;
    box-shadow: 0 .45rem 1rem rgba(40, 122, 85, .10);
}

.experience-request-restore-button:hover,
.experience-request-restore-button:focus-visible {
    background: #287a55;
    color: #fff;
    transform: translateY(-.08rem);
}

.experience-archive-banner {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(180, 139, 60, .42);
    border-radius: 1rem;
    background: #fff9ea;
    color: #5d4a1f;
}

.experience-archive-banner > i {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #f3dfaa;
    color: #8a681f;
}

.experience-archive-banner strong,
.experience-archive-banner span {
    display: block;
}

.experience-archive-banner span {
    margin-top: .15rem;
    color: #756338;
    font-size: .88rem;
}

@media (max-width: 767.98px) {
    .experience-request-card__actions {
        width: 100%;
    }

    .experience-request-card__actions .experience-request-detail-button {
        flex: 1 1 auto;
        width: auto;
    }

    .experience-request-archive-button,
    .experience-request-restore-button {
        width: 3.2rem;
        min-width: 3.2rem;
    }
}

/* === ALERTAS PRÉMIUM · SOLICITUDES DE EXPERIENCIA === */

body.experience-confirm-modal-open {
    overflow: hidden;
}

.experience-confirm-modal[hidden] {
    display: none !important;
}

.experience-confirm-modal {
    position: fixed;
    z-index: 11000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.experience-confirm-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 27, 45, .76);
    backdrop-filter: blur(.45rem);
}

.experience-confirm-modal__dialog {
    position: relative;
    width: min(100%, 34rem);
    padding: 2rem;
    overflow: hidden;
    border: 1px solid rgba(180, 139, 60, .55);
    border-radius: 1.45rem;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(23, 107, 147, .11),
            transparent 14rem
        ),
        #fff;
    color: #30495a;
    text-align: center;
    box-shadow:
        0 2rem 5rem rgba(4, 25, 42, .36),
        inset 0 1px 0 rgba(255, 255, 255, .9);
    animation: experience-confirm-enter .2s ease-out;
}

.experience-confirm-modal__dialog::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .32rem;
    background:
        linear-gradient(90deg, #b48b3c, #176b93);
}

.experience-confirm-modal__brand {
    margin-bottom: 1rem;
    color: #b48b3c;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.experience-confirm-modal__icon {
    display: grid;
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto 1.1rem;
    place-items: center;
    border: 1px solid rgba(23, 107, 147, .24);
    border-radius: 50%;
    background: #e9f4f9;
    color: #176b93;
    font-size: 1.55rem;
    box-shadow: 0 .7rem 1.5rem rgba(18, 52, 83, .11);
}

.experience-confirm-modal[data-tone="danger"]
.experience-confirm-modal__icon {
    border-color: rgba(194, 47, 61, .25);
    background: #fbeaec;
    color: #c22f3d;
}

.experience-confirm-modal[data-tone="warning"]
.experience-confirm-modal__icon {
    border-color: rgba(166, 108, 22, .28);
    background: #fff3da;
    color: #a66c16;
}

.experience-confirm-modal[data-tone="success"]
.experience-confirm-modal__icon {
    border-color: rgba(40, 122, 85, .25);
    background: #e4f4ec;
    color: #287a55;
}

.experience-confirm-modal__dialog h2 {
    margin: 0;
    color: #123453;
    font-size: clamp(1.45rem, 4vw, 2rem);
    font-weight: 900;
    letter-spacing: -.025em;
}

.experience-confirm-modal__dialog > p {
    max-width: 28rem;
    margin: .8rem auto 1rem;
    color: #506777;
    font-size: 1rem;
    line-height: 1.6;
}

.experience-confirm-modal__notice {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin: 0 0 1.35rem;
    padding: .85rem 1rem;
    border: 1px solid #dce7ed;
    border-radius: .9rem;
    background: #f7fafc;
    color: #5f7381;
    font-size: .86rem;
    line-height: 1.45;
    text-align: left;
}

.experience-confirm-modal__notice i {
    flex: 0 0 auto;
    margin-top: .15rem;
    color: #b48b3c;
}

.experience-confirm-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.experience-confirm-modal__cancel,
.experience-confirm-modal__confirm {
    min-height: 3.25rem;
    padding: .7rem 1rem;
    border-radius: .9rem;
    font-weight: 900;
    cursor: pointer;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease,
        color .18s ease;
}

.experience-confirm-modal__cancel {
    border: 1px solid #bfd0da;
    background: #fff;
    color: #123453;
}

.experience-confirm-modal__cancel:hover,
.experience-confirm-modal__cancel:focus-visible {
    border-color: #b48b3c;
    background: #f8f4e9;
    transform: translateY(-.08rem);
}

.experience-confirm-modal__confirm {
    border: 1px solid #b48b3c;
    background: #123453;
    color: #fff;
    box-shadow: 0 .55rem 1.1rem rgba(18, 52, 83, .18);
}

.experience-confirm-modal__confirm:hover,
.experience-confirm-modal__confirm:focus-visible {
    background: #082d49;
    transform: translateY(-.08rem);
}

.experience-confirm-modal[data-tone="danger"]
.experience-confirm-modal__confirm {
    border-color: #b72a39;
    background: #c93443;
}

.experience-confirm-modal[data-tone="danger"]
.experience-confirm-modal__confirm:hover,
.experience-confirm-modal[data-tone="danger"]
.experience-confirm-modal__confirm:focus-visible {
    background: #ad2634;
}

.experience-confirm-modal[data-tone="success"]
.experience-confirm-modal__confirm {
    border-color: #287a55;
    background: #287a55;
}

.experience-confirm-modal[data-tone="success"]
.experience-confirm-modal__confirm:hover,
.experience-confirm-modal[data-tone="success"]
.experience-confirm-modal__confirm:focus-visible {
    background: #1f6546;
}

.experience-premium-flash {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0 0 1rem;
    padding: 1rem 1.15rem;
    border-radius: 1rem;
    box-shadow: 0 .7rem 1.7rem rgba(18, 52, 83, .08);
}

.experience-premium-flash__icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
}

.experience-premium-flash strong,
.experience-premium-flash span {
    display: block;
}

.experience-premium-flash strong {
    margin-bottom: .1rem;
    font-weight: 900;
}

.experience-premium-flash span {
    line-height: 1.45;
}

.experience-premium-flash--success {
    border: 1px solid #b8dfcb;
    background: #eff9f4;
    color: #245f44;
}

.experience-premium-flash--success
.experience-premium-flash__icon {
    background: #d8f0e3;
    color: #287a55;
}

.experience-premium-flash--error {
    border: 1px solid #efc1c6;
    background: #fff1f2;
    color: #8c3039;
}

.experience-premium-flash--error
.experience-premium-flash__icon {
    background: #f9dfe2;
    color: #c22f3d;
}

@keyframes experience-confirm-enter {
    from {
        opacity: 0;
        transform: translateY(.7rem) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 575.98px) {
    .experience-confirm-modal__dialog {
        padding: 1.55rem 1.1rem 1.2rem;
        border-radius: 1.1rem;
    }

    .experience-confirm-modal__actions {
        grid-template-columns: 1fr;
    }

    .experience-confirm-modal__cancel {
        order: 2;
    }

    .experience-confirm-modal__confirm {
        order: 1;
    }

    .experience-premium-flash {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .experience-confirm-modal__dialog {
        animation: none;
    }
}

/* PREMIUM COUPON REFERENCE LAYOUT START */

body.premium-shell .premium-coupon-reference {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.45rem;
}

body.premium-shell
.premium-coupon-reference__code {
    overflow-wrap: anywhere;
    color: #18384e;
    font-size: 0.82rem;
    letter-spacing: 0.035em;
}

body.premium-shell
.premium-coupon-reference
.premium-type-badge {
    max-width: 100%;
    white-space: normal;
}

/* PREMIUM COUPON REFERENCE LAYOUT END */
