.tickets-body{
    min-height:100dvh;
    margin:0;
    overflow-x:hidden;
    background:#000;
    color:#fff;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;
}

.tickets-page{
    position:relative;
    width:min(100%,520px);
    min-height:100dvh;
    margin:0 auto;
    padding:calc(8px + env(safe-area-inset-top,0px)) var(--flare-page-gutter) calc(116px + env(safe-area-inset-bottom,0px));
}

.tickets-hero{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 44px;
    gap:14px;
    align-items:center;
    padding:7px 2px 8px;
}

.tickets-back,
.tickets-chart{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(255,255,255,.055);
    color:#fff;
    text-decoration:none;
}

.tickets-chart{
    border-radius:16px;
    cursor:pointer;
}

.tickets-chart[aria-expanded="true"]{
    border-color:rgba(var(--flare-accent-rgb),.58);
    background:linear-gradient(135deg,rgba(255,90,61,.18),rgba(184,50,255,.18));
    box-shadow:0 0 22px rgba(var(--flare-accent-rgb),.22);
}

.tickets-back svg,
.tickets-chart svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.tickets-chart .ticket-chart-icon{
    width:24px;
    height:24px;
}

.ticket-chart-icon .chart-axis{
    opacity:.72;
    stroke-width:2;
}

.ticket-chart-icon .chart-bar{
    stroke-width:2.5;
}

.ticket-chart-icon .chart-line{
    stroke-width:2.15;
}

.ticket-chart-icon circle{
    fill:currentColor;
    stroke:none;
}

.tickets-kicker,
.ticket-section-heading span,
.ticket-snapshot-copy > span{
    color:#ff4fd8;
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.tickets-hero h1{
    margin:4px 0 0;
    font-size:32px;
    line-height:.95;
    letter-spacing:-.055em;
}

.ticket-tabs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:4px;
    min-height:54px;
    margin:8px 0 14px;
    padding:5px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:rgba(255,255,255,.045);
}

.ticket-tabs button{
    border:0;
    border-radius:999px;
    background:transparent;
    color:#c6bfce;
    font-size:13px;
    font-weight:800;
}

.ticket-tabs button.active{
    color:#fff;
    background:linear-gradient(100deg,#ff5a3d,var(--flare-accent) 62%,#b832ff);
    box-shadow:0 0 24px rgba(var(--flare-accent-rgb),.26);
}

.ticket-events-toolbar{
    display:grid;
    gap:12px;
    margin:0 0 18px;
}

.ticket-events-toolbar[hidden]{
    display:none;
}

.ticket-filter-chips{
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    gap:10px;
}

.ticket-filter-chips button{
    min-height:43px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:#c9c1d2;
    font-size:13px;
    font-weight:850;
    white-space:nowrap;
}

.ticket-filter-chips button.active{
    color:#fff;
    border-color:transparent;
    background:linear-gradient(100deg,#ff5a3d,var(--flare-accent) 58%,#b832ff);
    box-shadow:0 0 22px rgba(var(--flare-accent-rgb),.24);
}

.ticket-filter-chips b{
    min-width:22px;
    height:22px;
    display:inline-grid;
    place-items:center;
    margin-left:4px;
    border-radius:999px;
    background:var(--flare-accent);
    color:#fff;
    font-size:11px;
    line-height:1;
    box-shadow:0 0 16px rgba(var(--flare-accent-rgb),.32);
}

.ticket-search-bar{
    min-height:58px;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) 48px;
    align-items:center;
    gap:11px;
    padding:6px 6px 6px 17px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.ticket-search-bar > svg,
.ticket-search-bar button svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ticket-search-bar > svg{
    color:#8d8799;
}

.ticket-search-bar input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font:inherit;
    font-size:14px;
    font-weight:650;
}

.ticket-search-bar input::placeholder{
    color:#9a94a6;
}

.ticket-search-bar button{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(8,8,14,.72);
    color:#f4eefc;
}

.ticket-preview-note{
    margin:-4px 0 12px;
    padding:10px 12px;
    border:1px solid rgba(var(--flare-accent-rgb),.18);
    border-radius:15px;
    background:rgba(var(--flare-accent-rgb),.08);
    color:#ff9bd6;
    font-size:11px;
    font-weight:800;
    line-height:1.35;
}

.ticket-event-section{
    margin-top:18px;
}

.ticket-event-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 2px 8px;
}

.ticket-event-heading span{
    color:var(--flare-accent);
    font-size:11px;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ticket-event-heading button{
    border:0;
    background:transparent;
    color:#c5becd;
    font-size:12px;
    font-weight:850;
}

.ticket-event-list{
    display:grid;
    gap:10px;
}

.ticket-stacked-event{
    position:relative;
    min-height:104px;
    display:grid;
    grid-template-columns:82px minmax(0,1fr) auto 18px;
    align-items:center;
    gap:11px;
    padding:10px 8px 10px 9px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
    color:#fff;
    text-decoration:none;
    box-shadow:0 16px 38px rgba(0,0,0,.28);
    overflow:hidden;
}

.ticket-stacked-main{
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:16px;
}

.ticket-stacked-main:focus-visible{
    outline:2px solid rgba(255,90,61,.9);
    outline-offset:-3px;
}

.ticket-stacked-event::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 8% 15%,rgba(var(--flare-accent-rgb),.12),transparent 32%);
    opacity:.75;
    pointer-events:none;
}

.ticket-stacked-thumb{
    position:relative;
    z-index:2;
    width:82px;
    height:82px;
    border-radius:13px;
    object-fit:cover;
    background:#15111f;
}

.ticket-stacked-copy{
    position:relative;
    z-index:2;
    min-width:0;
}

.ticket-event-tag{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:3px 7px;
    border:1px solid rgba(var(--flare-accent-rgb),.55);
    border-radius:999px;
    color:#ff77cb;
    background:rgba(var(--flare-accent-rgb),.1);
    font-size:9px;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.ticket-stacked-event.hosting .ticket-event-tag{
    border-color:rgba(255,90,61,.55);
    color:#ff8b5e;
    background:rgba(255,90,61,.1);
}

.ticket-stacked-copy strong{
    display:block;
    margin-top:5px;
    overflow:hidden;
    color:#fff;
    font-size:16px;
    font-weight:900;
    line-height:1.05;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ticket-stacked-copy em,
.ticket-stacked-copy b{
    display:block;
    overflow:hidden;
    margin-top:3px;
    color:#a9a3b5;
    font-size:11px;
    font-style:normal;
    font-weight:750;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ticket-stacked-copy b{
    color:#c9c1d4;
}

.ticket-friends-going{
    width:min(100%, 178px);
    min-height:25px;
    margin-top:6px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:9px;
}

.ticket-friend-avatars{
    display:flex;
    align-items:center;
    min-width:0;
}

.ticket-friend-avatars img,
.ticket-friend-avatars span{
    width:24px;
    height:24px;
    margin-right:-7px;
    border:2px solid #111019;
    border-radius:50%;
    display:grid;
    place-items:center;
    object-fit:cover;
    background:
        radial-gradient(circle at 30% 22%,rgba(255,255,255,.18),transparent 30%),
        linear-gradient(135deg,#ff7a2f,var(--flare-accent) 55%,#8b3dff);
    color:#fff;
    box-shadow:0 0 12px rgba(var(--flare-accent-rgb),.16);
    font-size:9px;
    font-weight:950;
    letter-spacing:-.04em;
}

.ticket-friend-avatars:empty::before{
    content:"";
    width:24px;
    height:24px;
    border:1px dashed rgba(255,255,255,.2);
    border-radius:50%;
    background:rgba(255,255,255,.04);
}

.ticket-friends-going b{
    flex:1;
    margin:0;
    color:#ded8e8;
    font-size:10.5px;
    font-weight:850;
    line-height:1.1;
    text-align:right;
    white-space:nowrap;
}

.ticket-host-invited{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:7px;
    color:#d9d3e4;
    font-size:11px;
    font-weight:800;
    line-height:1.15;
}

.ticket-host-invited span{
    color:#dfd9e7;
    font-size:13px;
    line-height:1;
}

.ticket-event-score{
    position:relative;
    z-index:2;
    min-width:48px;
    color:#ff4f3d;
    font-size:24px;
    font-weight:950;
    line-height:1;
    text-align:center;
    align-self:center;
}

.ticket-event-score small{
    display:block;
    margin-top:6px;
    color:#e3dce9;
    font-size:10.5px;
    font-weight:800;
}

.ticket-event-bookmark{
    position:absolute;
    top:7px;
    right:13px;
    z-index:4;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:999px;
    background:transparent;
    box-shadow:none;
    color:#a0a0a8;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transform:translateZ(0);
    transition:
        opacity var(--flare-dur-fast) cubic-bezier(.22,1,.36,1),
        transform var(--flare-dur-med) cubic-bezier(.22,1,.36,1),
        color var(--flare-dur-fast) cubic-bezier(.22,1,.36,1),
        box-shadow var(--flare-dur-med) cubic-bezier(.22,1,.36,1);
}

.ticket-event-bookmark:disabled{
    cursor:default;
    opacity:.64;
}

.ticket-bookmark-glow{
    opacity:0;
    display:none;
    pointer-events:none;
}

.ticket-bookmark-icon{
    position:relative;
    z-index:1;
    width:23px;
    height:23px;
    overflow:visible;
    color:currentColor;
    transform:translateZ(0);
    transition:transform var(--flare-dur-med) cubic-bezier(.22,1,.36,1), filter var(--flare-dur-med) cubic-bezier(.22,1,.36,1);
}

.ticket-bookmark-outline{
    fill:transparent;
    stroke:currentColor;
    stroke-width:1.85;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
    transition:stroke var(--flare-dur-fast) cubic-bezier(.22,1,.36,1);
}

.ticket-bookmark-fill{
    fill:#ff7a1a;
    opacity:0;
    transform:scaleY(0);
    transform-origin:50% 100%;
    transition:opacity var(--flare-dur-fast) cubic-bezier(.22,1,.36,1), transform var(--flare-dur-med) cubic-bezier(.22,1,.36,1);
}

.ticket-event-bookmark:hover,
.ticket-event-bookmark:focus-visible{
    outline:none;
    color:#e8e3ef;
    background:transparent;
    transform:translateY(-1px) scale(1.05);
}

.ticket-event-bookmark:focus-visible{
    box-shadow:0 0 0 2px rgba(255,122,26,.38);
}

.ticket-event-bookmark:active{
    transform:scale(.94);
}

.ticket-event-bookmark.saved{
    color:#ff7a1a;
    background:transparent;
    box-shadow:none;
    animation:none;
}

.ticket-event-bookmark.saved .ticket-bookmark-icon{
    filter:none;
}

.ticket-event-bookmark.saved .ticket-bookmark-fill{
    opacity:1;
    transform:scaleY(1);
}

.ticket-event-bookmark.saved:hover,
.ticket-event-bookmark.saved:focus-visible{
    color:#ff7a1a;
    background:transparent;
    box-shadow:0 0 0 2px rgba(255,122,26,.38);
}

.ticket-event-bookmark.just-saved .ticket-bookmark-icon{
    animation:ticketBookmarkPop .34s cubic-bezier(.22,1,.36,1);
}

.ticket-event-bookmark.just-unsaved .ticket-bookmark-icon{
    animation:ticketBookmarkDrain .28s cubic-bezier(.22,1,.36,1);
}

.ticket-event-bookmark.saving{
    opacity:.74;
}

@keyframes ticketBookmarkPop{
    0%{transform:scale(.92)}
    58%{transform:scale(1.18)}
    100%{transform:scale(1)}
}

@keyframes ticketBookmarkDrain{
    0%{transform:scale(1)}
    48%{transform:scale(.95)}
    100%{transform:scale(1)}
}

@media (prefers-reduced-motion:reduce){
    .ticket-event-bookmark,
    .ticket-bookmark-glow,
    .ticket-bookmark-icon,
    .ticket-bookmark-fill{
        animation:none!important;
        transition:none!important;
    }
}

.ticket-stacked-event > i{
    position:relative;
    z-index:2;
    color:#bfb7c8;
    font-size:25px;
    font-style:normal;
}

.ticket-toast{
    position:fixed;
    left:50%;
    bottom:calc(104px + env(safe-area-inset-bottom,0px));
    z-index:90;
    max-width:min(86vw,360px);
    padding:12px 16px;
    border:1px solid rgba(255,122,26,.18);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(16,16,24,.94),rgba(9,9,14,.94));
    color:#fff;
    font-size:13px;
    font-weight:850;
    letter-spacing:-.01em;
    box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 22px rgba(255,90,61,.2);
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,12px) scale(.96);
    transition:opacity var(--flare-dur-fast) ease, transform var(--flare-dur-fast) cubic-bezier(.22,1,.36,1);
}

.ticket-toast.visible{
    opacity:1;
    transform:translate(-50%,0) scale(1);
}

@media (max-width:420px){
    .ticket-filter-chips{
        gap:8px;
    }

    .ticket-filter-chips button{
        min-height:40px;
        padding:0 8px;
        font-size:12px;
    }

    .ticket-search-bar{
        min-height:54px;
        border-radius:20px;
    }

    .ticket-stacked-event{
        grid-template-columns:74px minmax(0,1fr) auto 12px;
        gap:9px;
        min-height:96px;
    }

    .ticket-stacked-thumb{
        width:74px;
        height:74px;
    }

    .ticket-event-bookmark{
        top:6px;
        right:10px;
    }

    .ticket-event-score{
        min-width:36px;
        font-size:19px;
    }
}

.ticket-tab-panel[hidden]{
    display:none;
}

.ticket-section{
    margin-top:26px;
}

.ticket-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:11px;
}

.ticket-section-heading h2{
    margin:4px 0 0;
    font-size:24px;
    line-height:1;
    letter-spacing:-.045em;
}

.ticket-section-heading small,
.ticket-view-all{
    color:#b7b1c1;
    font-size:12px;
    font-weight:800;
}

.ticket-analytics-popover{
    position:absolute;
    z-index:20;
    top:72px;
    right:16px;
    width:min(418px,calc(100% - 32px));
    padding:16px;
    border:1px solid rgba(var(--flare-accent-rgb),.35);
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0%,rgba(184,50,255,.24),transparent 38%),
        linear-gradient(145deg,rgba(17,14,25,.98),rgba(4,4,8,.96));
    box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 28px rgba(var(--flare-accent-rgb),.18);
    backdrop-filter:blur(22px);
}

.ticket-analytics-popover[hidden]{
    display:none;
}

.ticket-analytics-popover .ticket-section-heading{
    align-items:center;
    margin-bottom:6px;
}

.ticket-analytics-close{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.ticket-analytics-sync{
    display:block;
    margin-bottom:10px;
    color:#9f98aa;
    font-size:12px;
    font-weight:800;
    text-align:right;
}

.ticket-view-all{
    border:0;
    background:transparent;
}

.ticket-snapshot-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(154px,38vw,196px);
    gap:16px;
    padding:22px;
    border:1px solid rgba(var(--flare-accent-rgb),.48);
    border-radius:26px;
    background:
        radial-gradient(circle at 78% 22%,rgba(184,50,255,.28),transparent 34%),
        radial-gradient(circle at 8% 2%,rgba(255,90,61,.18),transparent 36%),
        rgba(12,9,18,.9);
    box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 28px rgba(var(--flare-accent-rgb),.12);
}

.ticket-snapshot-copy h2{
    margin:14px 0 8px;
    font-size:24px;
    line-height:1.02;
    letter-spacing:-.04em;
}

.ticket-snapshot-copy p{
    margin:8px 0 0;
    color:#c1bbc9;
    font-size:13px;
    line-height:1.35;
}

.ticket-snapshot-copy p:empty,
.ticket-snapshot-copy p[hidden]{
    display:none;
}

.ticket-snapshot-copy strong{
    display:inline-flex;
    margin-top:14px;
    color:#65f09a;
    font-size:13px;
}

.ticket-snapshot-actions{
    display:grid;
    gap:9px;
    max-width:246px;
    margin-top:18px;
}

.ticket-snapshot-actions a,
.ticket-snapshot-pass button,
.ticket-empty a,
.ticket-actions a,
.ticket-actions button{
    min-height:48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}

.ticket-snapshot-pass button:disabled{
    opacity:.45;
    cursor:not-allowed;
    box-shadow:none;
}

.ticket-snapshot-pass button{
    width:100%;
    max-width:132px;
    min-height:38px;
    padding:0 13px;
    border-color:rgba(255,90,61,.72);
    border-radius:999px;
    background:rgba(0,0,0,.34);
    box-shadow:0 0 18px rgba(var(--flare-accent-rgb),.16);
    font-size:12px;
    line-height:1;
    justify-self:center;
    text-align:center;
    white-space:nowrap;
}

.ticket-snapshot-actions .primary,
.ticket-actions .primary,
.ticket-empty a{
    border:0;
    background:linear-gradient(100deg,#ff5a3d,var(--flare-accent));
    box-shadow:0 12px 30px rgba(var(--flare-accent-rgb),.24);
}

.ticket-snapshot-actions a{
    width:100%;
    min-width:224px;
    padding:0 18px;
    border-radius:17px;
    letter-spacing:-.01em;
}

.ticket-snapshot-pass{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    align-self:start;
    min-height:216px;
    padding:16px;
    border:1px solid rgba(var(--flare-accent-rgb),.5);
    border-radius:22px;
    background:rgba(9,8,16,.72);
    text-align:center;
    box-sizing:border-box;
}

.ticket-qr{
    width:96px;
    height:96px;
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:3px;
    padding:9px;
    border-radius:14px;
    background:#fbf8ff;
    box-shadow:0 0 32px rgba(var(--flare-accent-rgb),.2);
    margin-inline:auto;
}

.ticket-qr.large{
    width:min(144px, calc(100% - 20px));
    height:auto;
    aspect-ratio:1;
}

.ticket-qr i{
    border-radius:2px;
    background:#120b18;
    opacity:.18;
}

.ticket-qr i.on{
    opacity:1;
}

.ticket-snapshot-stats{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin-top:2px;
}

.ticket-snapshot-stats article{
    min-height:64px;
    display:grid;
    place-items:center;
    align-content:center;
    border-radius:15px;
    background:rgba(0,0,0,.28);
}

.ticket-snapshot-stats strong{
    color:#ff4f62;
    font-size:26px;
    line-height:1;
}

.ticket-snapshot-stats span{
    margin-top:6px;
    color:#c6bfce;
    font-size:11px;
}

.ticket-analytics-card,
.ticket-card,
.event-hub-card,
.upcoming-card,
.ticket-empty,
.ticket-quick-grid button,
.ticket-recent-list{
    border:1px solid rgba(255,255,255,.1);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
    box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.ticket-analytics-card{
    padding:18px;
}

.ticket-analytics-card > div:first-child strong,
.ticket-pass-copy strong{
    display:block;
    font-size:16px;
}

.ticket-analytics-card > div:first-child small,
.ticket-pass-copy span{
    display:block;
    margin-top:5px;
    color:#a69fb1;
    font-size:12px;
}

.ticket-analytics-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-top:16px;
}

.ticket-analytics-grid article{
    min-height:86px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:3px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:15px;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.2));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.analytics-stat-icon{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    margin-bottom:2px;
    color:#ff6b35;
    filter:drop-shadow(0 0 8px rgba(255,90,61,.34));
}

.analytics-stat-icon svg{
    width:100%;
    height:100%;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.analytics-stat-tickets .analytics-stat-icon{
    color:var(--flare-accent);
    filter:drop-shadow(0 0 8px rgba(var(--flare-accent-rgb),.4));
}

.analytics-stat-heat .analytics-stat-icon,
.analytics-stat-heat strong{
    color:#ff5a3d;
}

.analytics-stat-joins .analytics-stat-icon{
    color:#d8d3e3;
    filter:drop-shadow(0 0 8px rgba(216,211,227,.2));
}

.ticket-analytics-grid strong{
    margin:0;
    color:#ff5a3d;
    font-size:20px;
    font-weight:950;
    line-height:1;
}

.analytics-stat-tickets strong,
.analytics-stat-joins strong{
    color:var(--flare-accent);
}

.ticket-analytics-grid small{
    color:#b6aebe;
    font-size:12px;
    font-weight:800;
    line-height:1.1;
    text-transform:none;
}

.ticket-activity-chart{
    position:relative;
    min-height:96px;
    margin-top:18px;
    padding:8px 2px 0;
    overflow:visible;
}

.ticket-activity-chart svg{
    width:100%;
    height:76px;
    display:block;
    overflow:visible;
}

.ticket-activity-chart .activity-area{
    fill:url(#ticketActivityArea);
    opacity:.5;
}

.ticket-activity-chart .activity-line-shadow{
    fill:none;
    stroke:rgba(var(--flare-accent-rgb),.25);
    stroke-width:8;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:blur(7px);
}

.ticket-activity-chart .activity-line{
    fill:none;
    stroke:url(#ticketActivityGradient);
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ticket-activity-chart .activity-dot{
    fill:#ff5a3d;
    stroke:rgba(10,8,16,.92);
    stroke-width:2.5;
}

.ticket-activity-chart .activity-dot.hot{
    fill:var(--flare-accent);
}

.ticket-activity-chart .activity-dot.active{
    fill:#fff;
    stroke:#ff5a3d;
    stroke-width:4;
    filter:drop-shadow(0 0 8px rgba(255,90,61,.85));
}

.ticket-activity-chart .activity-labels{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:0;
    margin-top:2px;
    color:#8f8799;
    font-size:12px;
    font-weight:850;
    text-align:center;
}

.ticket-activity-chart .activity-labels span.active{
    color:#ff7f4e;
    text-shadow:0 0 12px rgba(255,90,61,.5);
}

.ticket-quick-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.ticket-quick-grid button{
    min-height:160px;
    padding:18px;
    color:#fff;
    text-align:left;
}

.ticket-quick-grid b{
    display:block;
    margin-bottom:18px;
    color:#ff4fd8;
    font-size:26px;
}

.ticket-quick-grid b.ticket-history-icon{
    width:32px;
    height:32px;
    margin-bottom:18px;
    color:#c95cff;
    filter:drop-shadow(0 0 10px rgba(201,92,255,.4));
}

.ticket-quick-grid b.ticket-saved-icon{
    width:31px;
    height:31px;
    margin-bottom:18px;
    color:#ff7a32;
    filter:drop-shadow(0 0 10px rgba(255,122,50,.5));
}

.ticket-quick-grid b.ticket-ticket-icon{
    width:34px;
    height:32px;
    margin-bottom:18px;
    color:#e24dff;
    filter:drop-shadow(0 0 10px rgba(226,77,255,.44));
}

.ticket-quick-grid b.ticket-events-icon{
    width:32px;
    height:32px;
    margin-bottom:18px;
    color:#ff4f7b;
    filter:drop-shadow(0 0 10px rgba(255,79,123,.44));
}

.ticket-events-icon svg,
.ticket-ticket-icon svg,
.ticket-saved-icon svg,
.ticket-history-icon svg{
    width:100%;
    height:100%;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.85;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}

.ticket-events-icon svg{
    stroke-width:1.75;
}

.ticket-quick-grid strong,
.ticket-card h3,
.event-hub-copy strong{
    display:block;
    font-size:22px;
    line-height:1.05;
    letter-spacing:-.045em;
}

.ticket-quick-grid span{
    display:block;
    min-height:34px;
    margin-top:8px;
    color:#b9b2c1;
    font-size:13px;
    line-height:1.3;
}

.ticket-quick-grid em{
    min-height:38px;
    margin-top:16px;
    display:grid;
    place-items:center;
    border:1px solid rgba(210,205,220,.28);
    border-radius:12px;
    background:linear-gradient(100deg,#ff5a3d,var(--flare-accent));
    font-style:normal;
    font-size:12px;
    font-weight:900;
    box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 12px 24px rgba(var(--flare-accent-rgb),.16);
}

.ticket-recent-list{
    overflow:hidden;
}

.ticket-recent-row{
    min-height:82px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px;
    color:#fff;
    text-decoration:none;
}

.ticket-recent-row + .ticket-recent-row{
    border-top:1px solid rgba(255,255,255,.08);
}

.ticket-recent-row img,
.ticket-card-main img,
.event-hub-card img,
.upcoming-card img{
    width:58px;
    height:58px;
    border-radius:15px;
    object-fit:cover;
    background:#15111f;
}

.ticket-recent-row small,
.ticket-type,
.event-hub-copy small{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:4px 8px;
    border-radius:999px;
    color:#ff8bd0;
    background:rgba(var(--flare-accent-rgb),.12);
    font-size:9px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.ticket-recent-row strong{
    display:block;
    margin-top:5px;
    font-size:16px;
    line-height:1.05;
}

.ticket-recent-row em,
.event-hub-copy em,
.upcoming-card small{
    display:block;
    margin-top:4px;
    color:var(--flare-secondary-text);
    font-size:12px;
    font-style:normal;
}

.ticket-recent-row b{
    color:#ff4fd8;
    font-size:11px;
    white-space:nowrap;
}

.ticket-list,
.upcoming-list,
.event-hub-list{
    display:grid;
    gap:13px;
}

.ticket-card{
    overflow:hidden;
}

.ticket-card-main,
.ticket-pass{
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:12px;
}

.ticket-card-main img{
    width:74px;
    height:74px;
}

.ticket-copy{
    min-width:0;
}

.ticket-copy h3{
    margin:8px 0 5px;
}

.ticket-copy p,
.ticket-meta-row span{
    color:var(--flare-secondary-text);
    font-size:11px;
}

.ticket-meta-row{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}

.ticket-meta-row span{
    padding:5px 7px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
}

.ticket-pass{
    margin:0 12px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.035);
}

.ticket-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:0 12px 12px;
}

.event-hub-card,
.upcoming-card{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:12px;
    color:#fff;
    text-decoration:none;
}

.event-hub-copy small,
.event-hub-copy strong,
.event-hub-copy em,
.event-hub-copy b,
.upcoming-card strong,
.upcoming-card small{
    display:block;
}

.event-hub-copy b{
    margin-top:7px;
    color:#ff7f4e;
    font-size:11px;
}

.ticket-empty{
    padding:32px 18px;
    text-align:center;
}

.ticket-empty.compact{
    box-shadow:none;
}

.ticket-empty strong{
    display:block;
    font-size:18px;
}

.ticket-empty p{
    max-width:310px;
    margin:9px auto 16px;
    color:var(--flare-secondary-text);
    font-size:13px;
    line-height:1.45;
}

@media (max-width:430px){
    .tickets-page{
        padding-inline:var(--flare-page-gutter);
    }

    .tickets-hero h1{
        font-size:30px;
    }

    .ticket-tabs button{
        font-size:12px;
    }

    .ticket-snapshot-card{
        grid-template-columns:minmax(0,1fr) minmax(150px,42%);
        gap:12px;
        padding:16px;
    }

    .ticket-snapshot-pass{
        min-height:184px;
        padding:11px;
    }

    .ticket-qr.large{
        width:min(124px, calc(100% - 18px));
        height:auto;
        aspect-ratio:1;
        gap:2px;
        padding:8px;
        border-radius:12px;
    }

    .ticket-snapshot-actions{
        max-width:none;
        margin-top:16px;
    }

    .ticket-snapshot-actions a{
        min-width:0;
        min-height:44px;
        border-radius:15px;
        font-size:12px;
    }

    .ticket-snapshot-pass button{
        width:min(124px, calc(100% - 18px));
        max-width:none;
        min-height:34px;
        padding:0 10px;
        border-radius:999px;
        font-size:10px;
    }

    .ticket-snapshot-copy h2{
        font-size:21px;
    }

    .ticket-snapshot-copy p{
        font-size:12px;
    }

    .ticket-analytics-grid{
        grid-template-columns:repeat(4,1fr);
        gap:7px;
    }

    .ticket-analytics-grid article{
        min-height:72px;
    }

    .ticket-analytics-grid strong{
        font-size:18px;
    }

    .ticket-analytics-grid small{
        font-size:9px;
    }

    .analytics-stat-icon{
        width:22px;
        height:22px;
    }

    .ticket-quick-grid{
        gap:12px;
    }

    .ticket-quick-grid button{
        min-height:150px;
        padding:16px;
    }

    .ticket-recent-row{
        grid-template-columns:54px minmax(0,1fr) auto;
        gap:10px;
    }

    .ticket-recent-row b{
        max-width:74px;
        overflow:hidden;
        text-overflow:ellipsis;
    }
}
