:root {
    --ink: #101828;
    --muted: #667085;
    --line: #e6e9f2;
    --surface: #ffffff;
    --soft: #f6f8fc;
    --primary: #635bff;
    --primary-2: #00b8a9;
    --accent: #ffb703;
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background:
        linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(244,247,251,.9) 44%, #eef3fb 100%),
        radial-gradient(circle at 10% 0%, rgba(99,91,255,.14), transparent 28%),
        radial-gradient(circle at 95% 12%, rgba(0,184,169,.12), transparent 30%);
}
body[data-theme="dark"] {
    --ink: #f8fafc;
    --muted: #aab4c5;
    --line: rgba(148,163,184,.22);
    --surface: #111827;
    --soft: #172033;
    background:
        radial-gradient(circle at 12% 0%, rgba(99,91,255,.22), transparent 34%),
        radial-gradient(circle at 90% 10%, rgba(0,184,169,.16), transparent 28%),
        linear-gradient(180deg, #050816 0%, #0b1220 46%, #111827 100%);
}
body[data-theme="light"] { color-scheme: light; }
body[data-theme="dark"] .premium-nav,
body[data-theme="dark"] .event-card,
body[data-theme="dark"] .content-panel,
body[data-theme="dark"] .auth-card,
body[data-theme="dark"] .stat-card,
body[data-theme="dark"] .chart-panel,
body[data-theme="dark"] .admin-filter-panel,
body[data-theme="dark"] .admin-log-card,
body[data-theme="dark"] .log-month-panel,
body[data-theme="dark"] .organizer-card,
body[data-theme="dark"] .manager-overview,
body[data-theme="dark"] .manager-timeline,
body[data-theme="dark"] .manager-list-item,
body[data-theme="dark"] .finance-split-grid div,
body[data-theme="dark"] .manager-action-card,
body[data-theme="dark"] .support-column,
body[data-theme="dark"] .support-card,
body[data-theme="dark"] .support-filterbar,
body[data-theme="dark"] .support-ticket-row,
body[data-theme="dark"] .ranking-card,
body[data-theme="dark"] .notification-card,
body[data-theme="dark"] .pass-card,
body[data-theme="dark"] .withdrawal-card,
body[data-theme="dark"] .wallet-grid > div,
body[data-theme="dark"] .empty-state,
body[data-theme="dark"] .quick-action,
body[data-theme="dark"] .conversion-grid div {
    background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.88));
    border-color: rgba(148,163,184,.2);
}
body[data-theme="dark"] .hero-card,
body[data-theme="dark"] .hero-stat,
body[data-theme="dark"] .sub-card,
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .form-select,
body[data-theme="dark"] .table,
body[data-theme="dark"] .searchbar,
body[data-theme="dark"] .webhook-row,
body[data-theme="dark"] .ticket-message,
body[data-theme="dark"] .support-upload,
body[data-theme="dark"] .support-attachment,
body[data-theme="dark"] .log-item,
body[data-theme="dark"] .log-item code {
    background: #0f172a;
    color: var(--ink);
    border-color: rgba(148,163,184,.22);
}
body[data-theme="dark"] .nav-link,
body[data-theme="dark"] .navbar-brand,
body[data-theme="dark"] .event-body h3 a,
body[data-theme="dark"] .support-card,
body[data-theme="dark"] .quick-action,
body[data-theme="dark"] .pass-card,
body[data-theme="dark"] .pass-content h2,
body[data-theme="dark"] .pass-content strong,
body[data-theme="dark"] .table th,
body[data-theme="dark"] .table td,
body[data-theme="dark"] .form-label,
body[data-theme="dark"] .toggle-line,
body[data-theme="dark"] .ranking-card h3,
body[data-theme="dark"] .notification-card h2 { color: var(--ink); }
body[data-theme="dark"] .pass-content p,
body[data-theme="dark"] .pass-content small,
body[data-theme="dark"] .event-body p,
body[data-theme="dark"] .event-meta,
body[data-theme="dark"] .event-contact-line,
body[data-theme="dark"] .quick-action span,
body[data-theme="dark"] .notification-card p,
body[data-theme="dark"] .empty-state { color: var(--muted); }
body[data-theme="dark"] .form-control::placeholder { color: #748197; }
body[data-theme="dark"] .date-pill,
body[data-theme="dark"] .price {
    background: rgba(99,91,255,.14);
    color: #c4b5fd;
}
body[data-theme="dark"] .qr {
    background: #fff;
    border-color: #fff;
}
body[data-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ink);
    --bs-table-border-color: rgba(148,163,184,.18);
    --bs-table-striped-bg: rgba(255,255,255,.03);
    --bs-table-hover-bg: rgba(34,197,94,.08);
    color: var(--ink);
}
body[data-theme="dark"] .table small,
body[data-theme="dark"] .table code,
body[data-theme="dark"] .email-log-card small,
body[data-theme="dark"] .log-item small { color: var(--muted); }
body[data-theme="dark"] .table a { color: #86efac; }
body[data-theme="dark"] .text-bg-light {
    background: rgba(148,163,184,.16) !important;
    color: var(--ink) !important;
    border: 1px solid rgba(148,163,184,.2);
}
body[data-theme="dark"] .email-log-card,
body[data-theme="dark"] .legal-panel,
body[data-theme="dark"] .ticket-detail,
body[data-theme="dark"] .transfer-box {
    background: rgba(17,24,39,.9);
    border-color: rgba(148,163,184,.22);
    color: var(--ink);
}
body[data-theme="dark"] .footer { background: rgba(4,7,18,.74); color: var(--muted); }
body[data-theme="dark"] .page-title {
    background:
        radial-gradient(circle at 14% 0%, rgba(99,91,255,.16), transparent 34%),
        linear-gradient(180deg, rgba(5,8,22,.72), rgba(5,8,22,0));
}
body[data-theme="dark"] .page-title h1,
body[data-theme="dark"] .section-heading h2,
body[data-theme="dark"] .content-panel h2 { color: #f8fafc; }
body[data-theme="dark"] .form-control:focus,
body[data-theme="dark"] .form-select:focus {
    border-color: rgba(34,211,238,.55);
    box-shadow: 0 0 0 .22rem rgba(34,211,238,.12);
}
a { text-decoration: none; }
.app-shell { min-height: 100vh; overflow-x: hidden; }

.premium-nav {
    background: rgba(5, 8, 22, .76);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(148,163,184,.14);
    box-shadow: 0 12px 34px rgba(0,0,0,.18);
}
.navbar-brand { font-weight: 800; color: var(--ink); padding: 0; }
.brand-mark {
    width: 38px; height: 38px; border-radius: 10px;
    display: grid; place-items: center; color: #fff; font-size: .82rem;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    box-shadow: 0 12px 30px rgba(99, 91, 255, .28);
}
.brand-logo {
    width: clamp(180px, 18vw, 250px);
    height: auto;
    max-height: 58px;
    object-fit: contain;
}
.nav-link {
    color: rgba(226,232,240,.78);
    font-size: .92rem;
    font-weight: 750;
    letter-spacing: 0;
    border-radius: 999px;
    padding: .55rem .78rem !important;
    transition: color .18s ease, background .18s ease;
}
.nav-link:hover,
.nav-link:focus {
    color: #fff;
    background: rgba(255,255,255,.08);
}
.nav-button {
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: .92rem;
    font-weight: 750;
    line-height: inherit;
    cursor: pointer;
}
.notification-link {
    position: relative;
}
.notification-link span {
    position: absolute;
    top: 2px;
    right: -2px;
    display: grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: #7c3aed;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
}
.nav-logout {
    min-height: 36px;
    padding-inline: 14px;
}
.navbar-toggler {
    border-color: rgba(148,163,184,.28);
}
.navbar-toggler-icon {
    filter: invert(1);
}
.btn { border-radius: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
.btn svg { width: 18px; height: 18px; }
.btn-primary {
    background: linear-gradient(135deg, var(--primary), #7c3aed);
    border: none;
    box-shadow: 0 14px 28px rgba(99, 91, 255, .24);
}
.btn-primary:hover { filter: brightness(1.04); transform: translateY(-1px); }
.btn-dark-soft { background: #101828; color: #fff; border: 0; }
.btn-dark-soft:hover { background: #27364f; color: #fff; }

.hero {
    color: #fff;
    padding: 92px 0 76px;
    background:
        radial-gradient(circle at 15% 15%, rgba(0, 184, 169, .38), transparent 28%),
        linear-gradient(135deg, #111827 0%, #342b7a 54%, #0f766e 100%);
}
.hero h1 { font-size: clamp(2.5rem, 6vw, 5.2rem); line-height: 1.02; font-weight: 800; margin: 1rem 0; }
.hero .lead { color: rgba(255,255,255,.78); max-width: 620px; }
.eyebrow {
    display: inline-flex; color: #d1fff8; font-weight: 800; text-transform: uppercase;
    font-size: .78rem; letter-spacing: 0;
}
.eyebrow.dark { color: var(--primary); }
.hero-panel {
    min-height: 480px; border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.12); backdrop-filter: blur(22px);
    border-radius: 28px; padding: 24px; position: relative;
    box-shadow: 0 30px 80px rgba(0,0,0,.24);
}
.hero-card { background: #fff; color: var(--ink); border-radius: 18px; padding: 14px; display: grid; grid-template-columns: 148px 1fr; gap: 18px; margin-top: 80px; }
.hero-card img { width: 100%; height: 150px; object-fit: cover; border-radius: 14px; }
.hero-card h3 { font-weight: 800; margin-top: 12px; }
.hero-stat { position: absolute; right: 28px; top: 28px; background: #fff; color: var(--ink); border-radius: 18px; padding: 18px 24px; box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.hero-stat strong { display: block; font-size: 2.4rem; line-height: 1; }
.mini-chart { position: absolute; left: 28px; bottom: 28px; right: 28px; display: flex; align-items: end; gap: 12px; height: 100px; }
.mini-chart span { flex: 1; border-radius: 10px 10px 0 0; background: linear-gradient(180deg, #fff, rgba(255,255,255,.18)); }
.mini-chart span:nth-child(1) { height: 42%; } .mini-chart span:nth-child(2) { height: 72%; } .mini-chart span:nth-child(3) { height: 56%; } .mini-chart span:nth-child(4) { height: 88%; } .mini-chart span:nth-child(5) { height: 66%; }

.section { padding: 64px 0; }
.conversion-band { margin-top: -34px; position: relative; z-index: 2; }
.conversion-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px;
    overflow: hidden; border-radius: 22px; border: 1px solid rgba(230,233,242,.9);
    background: var(--line); box-shadow: 0 28px 70px rgba(16,24,40,.12);
}
.conversion-grid div { background: rgba(255,255,255,.96); padding: 24px; }
.conversion-grid strong { display: block; font-size: 1.05rem; }
.conversion-grid span { color: var(--muted); }
.section-heading, .page-title .container { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.section-heading h2, .page-title h1 { font-weight: 800; margin: .25rem 0 0; }
.page-title { padding: 48px 0 24px; }
.page-title p { color: var(--muted); margin: .25rem 0 0; }

.event-card, .content-panel, .auth-card, .stat-card {
    background: rgba(255,255,255,.92); border: 1px solid rgba(230,233,242,.9);
    border-radius: 22px; box-shadow: 0 22px 54px rgba(16,24,40,.08);
}
.event-card { overflow: hidden; height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.event-card:hover { transform: translateY(-5px); box-shadow: 0 28px 70px rgba(16,24,40,.13); }
.event-image {
    display: grid;
    place-items: center;
    height: 220px;
    background:
        radial-gradient(circle at 50% 0%, rgba(99,91,255,.14), transparent 42%),
        #071225;
    overflow: hidden;
}
.event-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.event-body { padding: 20px; }
.event-body h3 { font-size: 1.3rem; font-weight: 800; margin: 16px 0 8px; }
.event-body h3 a { color: var(--ink); }
.event-body p, .event-meta { color: var(--muted); display: flex; gap: 7px; align-items: center; }
.event-body svg, .event-meta svg { width: 16px; }
.date-pill, .price { font-weight: 800; border-radius: 999px; padding: 8px 12px; background: var(--soft); }
.price { color: var(--primary); }
.event-meta { justify-content: space-between; font-size: .9rem; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 14px; }
.event-contact-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 12px;
    color: var(--muted);
    font-size: .9rem;
}
.event-contact-line span,
.event-contact-line a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.event-contact-line svg { width: 15px; height: 15px; }
.event-contact-line a {
    color: #7dd3fc;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.searchbar { flex: 1; max-width: 620px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 8px 8px 8px 14px; display: flex; align-items: center; gap: 10px; }
.searchbar input { border: 0; outline: 0; flex: 1; min-width: 120px; background: transparent !important; color: var(--ink); box-shadow: none; caret-color: var(--primary); }
.searchbar input::placeholder { color: var(--muted); opacity: .95; }
body[data-theme="dark"] .searchbar input { color: #f8fafc; background: transparent !important; }
body[data-theme="dark"] .searchbar input::placeholder { color: #94a3b8; }
.event-filter-panel {
    display: grid;
    grid-template-columns: minmax(280px, 1.35fr) minmax(170px, .85fr) repeat(3, minmax(135px, .65fr)) minmax(140px, .65fr) minmax(112px, auto);
    gap: 12px;
    align-items: center;
    width: 100%;
    margin-top: 18px;
}
.events-page-title .container { display: block; }
.event-filter-panel > * { min-width: 0; }
.event-filter-panel .searchbar { max-width: none; }
.event-filter-panel .btn {
    width: 100%;
    min-width: 104px;
    white-space: nowrap;
}
.event-category-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 14px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(99,91,255,.18);
    background: rgba(99,91,255,.1);
    color: var(--primary);
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}
body[data-theme="dark"] .event-category-chip {
    border-color: rgba(125,211,252,.18);
    background: rgba(14,165,233,.12);
    color: #7dd3fc;
}
.content-panel { padding: 28px; }
.content-panel h2 { font-weight: 800; margin-bottom: 18px; }
.event-editor-panel {
    position: relative;
    overflow: hidden;
}
.event-editor-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #22d3ee, #635bff, #a855f7);
}
.event-editor-panel .form-label {
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--muted);
}
.event-detail-hero { color: #fff; padding: 110px 0; background-size: cover; background-position: center; }
.event-detail-hero h1 { font-size: clamp(2.4rem, 5vw, 4.8rem); font-weight: 800; max-width: 900px; }
.event-premium-hero {
    min-height: 540px;
    display: flex;
    align-items: end;
    padding: 116px 0 46px;
    background-size: cover;
    background-position: center;
}
.event-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 26px;
    align-items: end;
}
.event-hero-copy h1 {
    max-width: 900px;
    margin: 14px 0;
    font-size: clamp(2.55rem, 5vw, 4.8rem);
    line-height: 1.03;
    letter-spacing: 0;
    font-weight: 950;
}
.event-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.event-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}
.event-status-pill.live { background: rgba(34,197,94,.18); color: #bbf7d0; }
.event-status-pill.ended { background: rgba(245,158,11,.18); color: #fde68a; }
.event-status-pill.category {
    background: rgba(14,165,233,.16);
    color: #bae6fd;
}
.event-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 900px;
}
.event-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 13px;
    border-radius: 999px;
    background: rgba(15,23,42,.58);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.84);
    font-weight: 800;
}
.event-hero-meta svg { width: 18px; height: 18px; color: #7dd3fc; }
.event-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.event-hero-summary {
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(15,23,42,.72);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 16px;
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
.event-hero-summary-compact {
    display: grid;
    gap: 10px;
}
.event-hero-summary-compact div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    padding-bottom: 10px;
}
.event-hero-summary-compact div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.event-hero-summary > span {
    display: block;
    color: rgba(255,255,255,.68);
    font-weight: 800;
}
.event-hero-summary > strong,
.event-hero-summary-compact strong {
    display: block;
    font-size: 1.18rem;
    line-height: 1;
    margin: 0;
    text-align: right;
}
.event-hero-summary-compact span {
    color: rgba(255,255,255,.66);
    font-weight: 800;
    font-size: .86rem;
}
.event-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}
.event-summary-grid div {
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    padding: 13px;
    background: rgba(255,255,255,.08);
}
.event-summary-grid small,
.event-summary-grid b { display: block; }
.event-summary-grid small { color: rgba(255,255,255,.62); font-weight: 800; }
.event-summary-grid b { color: #fff; font-size: 1.1rem; margin-top: 5px; }
.event-closed-note {
    border-radius: 16px;
    padding: 13px;
    background: rgba(245,158,11,.16);
    color: #fde68a;
    font-weight: 800;
}
.event-detail-section { padding-top: 34px; }
.event-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 26px;
    align-items: start;
}
.event-main-stack,
.event-side-stack { display: grid; gap: 22px; }
.event-side-stack {
    position: sticky;
    top: 92px;
}
.event-story-panel h2 {
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 950;
    margin: 6px 0 14px;
}
.event-story-panel p {
    color: var(--muted);
    font-size: 1.04rem;
    line-height: 1.85;
}
.event-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}
.event-info-grid div {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 2px 12px;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
    background: var(--soft);
}
.event-info-grid svg {
    grid-row: span 2;
    color: var(--primary-2);
}
.event-info-grid span {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
}
.event-info-grid strong {
    overflow-wrap: anywhere;
}
.ticket-row { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.ticket-row small { display: block; color: var(--muted); }
.sub-card { border: 1px solid var(--line); border-radius: 14px; padding: 18px; background: var(--soft); }
.sub-card h4 { font-weight: 800; }
.event-map {
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid var(--line);
    margin-top: 22px;
    background: var(--soft);
}
.premium-map { margin-top: 18px; }
.event-map iframe {
    width: 100%;
    min-height: 340px;
    border: 0;
    display: block;
}
.section-heading.compact {
    align-items: center;
    margin-bottom: 0;
}
.section-heading.compact h2 { margin: 4px 0 0; }
.event-share-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.event-share-panel h2 { margin: 4px 0 6px; }
.event-share-panel p {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}
.event-organizer-mini {
    display: grid;
    gap: 16px;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.9));
    box-shadow: 0 18px 44px rgba(16,24,40,.08);
}
.event-organizer-mini h2 {
    margin: 4px 0 6px;
    font-size: 1.15rem;
    font-weight: 950;
}
.event-organizer-mini p {
    margin: 0;
    color: var(--muted);
    font-size: .92rem;
}
.event-organizer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.event-organizer-actions .btn {
    flex: 1 1 auto;
}
body[data-theme="dark"] .event-organizer-mini {
    background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.9));
    border-color: rgba(148,163,184,.2);
}
.organizer-card {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 18px;
    background: rgba(255,255,255,.92);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 22px 54px rgba(16,24,40,.08);
}
.organizer-card img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 24px;
    border: 1px solid var(--line);
}
.organizer-card h2 {
    font-size: 1.25rem;
    font-weight: 900;
    margin: 6px 0;
}
.organizer-card p {
    color: var(--muted);
    margin: 0;
}
.organizer-stats {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.organizer-stats span {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 10px;
    color: var(--muted);
    font-weight: 800;
}
.organizer-stats strong { color: var(--ink); }
.organizer-card-premium {
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(16,24,40,.08);
}
.organizer-card-compact {
    grid-template-columns: 54px 1fr;
    gap: 12px;
    padding: 14px;
}
.organizer-card-compact img {
    width: 54px;
    height: 54px;
    border-radius: 15px;
}
.organizer-card-compact .eyebrow {
    font-size: .68rem;
}
.organizer-card-compact h2 {
    font-size: 1rem;
    margin: 3px 0;
}
.organizer-card-compact p {
    font-size: .86rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.organizer-card-compact .organizer-stats {
    margin-top: 8px;
}
.organizer-card-compact .organizer-stats span {
    padding: 6px 8px;
    font-size: .78rem;
}
.organizer-card-compact .btn {
    min-height: 32px;
    padding: 6px 10px;
}
.premium-ticket-box {
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(16,24,40,.1);
}
.premium-ticket-box h2 {
    font-size: 1.35rem;
    font-weight: 950;
}
.premium-ticket-list { display: grid; gap: 12px; }
.premium-ticket-option {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,248,252,.92));
    overflow: hidden;
}
body[data-theme="dark"] .premium-ticket-option {
    background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(17,24,39,.92));
}
.premium-ticket-option::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--primary), var(--primary-2));
}
.premium-ticket-option strong,
.premium-ticket-option small { display: block; }
.premium-ticket-option strong {
    font-size: 1rem;
    font-weight: 950;
}
.premium-ticket-option small {
    color: var(--muted);
    margin-top: 3px;
}
.premium-ticket-price {
    display: grid;
    justify-items: end;
    gap: 8px;
    white-space: nowrap;
}
.premium-ticket-price b {
    color: var(--ink);
    font-size: 1.1rem;
}
.premium-ticket-option.is-disabled {
    opacity: .68;
}

.auth-wrap { min-height: 72vh; display: grid; place-items: center; padding: 44px 16px; }
.auth-card { width: min(100%, 460px); padding: 34px; }
.auth-card h1 { font-weight: 800; }
.auth-card p, .auth-links a { color: var(--muted); }
.auth-links { display: flex; justify-content: space-between; margin-top: 18px; }

.payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.payment-grid.payment-grid-wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.payment-grid input { display: none; }
.payment-grid span { min-height: 86px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--line); border-radius: 16px; font-weight: 800; cursor: pointer; }
.payment-grid input:checked + span { border-color: var(--primary); background: #f1efff; color: var(--primary); }
.checkout-summary img { width: 100%; height: 210px; object-fit: cover; border-radius: 16px; margin-bottom: 18px; }
.summary-line { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding: 14px 0; }
.summary-line.total { font-size: 1.2rem; color: var(--primary); }
.checkout-note { color: var(--muted); margin: 14px 0 0; }
.checkout-split { border: 1px solid rgba(99,91,255,.18); background: rgba(99,91,255,.08); border-radius: 14px; padding: 14px; display: grid; gap: 6px; color: var(--muted); font-size: .92rem; }
.coupon-applied { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid rgba(34,197,94,.28); border-radius: 14px; background: rgba(34,197,94,.1); color: var(--ink); font-weight: 700; }
.summary-line.discount { color: #22c55e; }
.coupon-checkout-panel { padding: 18px; }
.coupon-list { display: grid; gap: 14px; }
.coupon-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft); }
.coupon-card strong, .coupon-card small { display: block; }
.coupon-code { display: inline-flex; width: fit-content; margin-bottom: 8px; padding: 7px 11px; border-radius: 999px; background: rgba(99,91,255,.14); color: var(--primary); font-weight: 900; letter-spacing: .04em; }
.coupon-stats { display: grid; gap: 6px; color: var(--muted); font-size: .9rem; }
.coupon-actions { display: flex; gap: 8px; align-items: center; }
.receipt-modal { max-width: 860px; }
.receipt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.receipt-grid div { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.receipt-grid span { display: block; color: var(--muted); font-size: .82rem; margin-bottom: 4px; }
.receipt-grid strong { color: var(--ink); overflow-wrap: anywhere; }
.receipt-modal-row > td { padding: 0 !important; border: 0 !important; }

.wallet-grid {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, minmax(0, .85fr));
    gap: 14px;
}
.wallet-grid > div {
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 48px rgba(16,24,40,.07);
}
.wallet-grid span,
.withdrawal-details-grid span {
    display: block;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}
.wallet-grid strong {
    display: block;
    margin-top: 8px;
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    font-weight: 950;
    color: var(--ink);
}
.wallet-balance-card {
    background: linear-gradient(135deg, rgba(29,78,216,.34), rgba(14,165,233,.18)) !important;
}
.wallet-balance-card a {
    display: inline-flex;
    margin-top: 10px;
    font-weight: 900;
    color: #7dd3fc;
}
.withdrawal-form .form-label,
.withdrawal-process-form .form-label { font-weight: 900; color: var(--muted); }
.withdrawal-list,
.withdrawal-admin-list {
    display: grid;
    gap: 14px;
}
.withdrawal-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--soft);
}
.withdrawal-card strong,
.withdrawal-card small {
    display: block;
}
.withdrawal-card strong {
    margin-top: 8px;
    color: var(--ink);
    font-weight: 950;
}
.withdrawal-card small,
.withdrawal-card p {
    color: var(--muted);
}
.withdrawal-status {
    border: 1px solid rgba(148,163,184,.22);
}
.withdrawal-status.pending { background: rgba(250,204,21,.14) !important; color: #fde68a !important; }
.withdrawal-status.processing { background: rgba(59,130,246,.16) !important; color: #bfdbfe !important; }
.withdrawal-status.completed { background: rgba(34,197,94,.16) !important; color: #bbf7d0 !important; }
.withdrawal-status.rejected { background: rgba(239,68,68,.16) !important; color: #fecaca !important; }
.withdrawal-admin-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 22px;
}
.withdrawal-admin-main h2 {
    margin-top: 10px;
}
.withdrawal-details-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.withdrawal-details-grid div {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(15,23,42,.08);
}
.withdrawal-details-grid strong,
.withdrawal-details-grid small {
    display: block;
    overflow-wrap: anywhere;
}
.withdrawal-note {
    margin: 16px 0 0;
    color: var(--muted);
}
.withdrawal-process-form {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(15,23,42,.08);
}

.home-discovery-hero {
    color: #fff;
    padding: 96px 0 40px;
    background:
        linear-gradient(180deg, rgba(9,13,31,.78), rgba(9,13,31,.98)),
        radial-gradient(circle at 18% 18%, rgba(0,98,255,.28), transparent 30%),
        radial-gradient(circle at 84% 8%, rgba(34,197,94,.16), transparent 28%),
        #080d1f;
}
.home-hero-copy { max-width: 920px; }
.home-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #93c5fd;
    font-weight: 900;
    font-size: .82rem;
}
.home-hero-copy h1 {
    margin: 18px 0 14px;
    max-width: 980px;
    font-size: clamp(2.65rem, 7vw, 5.9rem);
    line-height: .98;
    font-weight: 950;
}
.home-hero-copy p {
    max-width: 760px;
    color: rgba(226,232,240,.82);
    font-size: 1.16rem;
}
.home-search-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px auto;
    gap: 12px;
    align-items: center;
    width: 100%;
    margin-top: 34px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 30px 80px rgba(0,0,0,.28);
    backdrop-filter: blur(18px);
}
.home-search-card > * { min-width: 0; }
.home-search-input {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(2,6,23,.56);
}
.home-search-input svg { color: #60a5fa; }
.home-search-input input,
.home-search-card input[type="date"] {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
}
.home-search-card input[type="date"] {
    display: block;
    max-width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(2,6,23,.56);
    color-scheme: dark;
    font-size: 1rem;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}
.home-search-card input[type="date"]::-webkit-date-and-time-value {
    min-height: 58px;
    text-align: left;
}
.home-search-input input::placeholder { color: rgba(226,232,240,.62); }
.home-category-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.home-category-row a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 54px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    color: #e2e8f0;
    font-weight: 850;
}
.home-category-row a:hover { background: rgba(59,130,246,.18); color: #fff; }
.home-featured-band {
    padding: 18px 0 0;
    background: #080d1f;
}
.home-featured-event {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(30,41,59,.88));
    color: #fff;
}
.home-featured-event img {
    width: 150px;
    height: 96px;
    object-fit: cover;
    border-radius: 16px;
}
.home-featured-event span {
    color: #60a5fa;
    font-weight: 900;
    font-size: .82rem;
}
.home-featured-event h2 {
    margin: 4px 0;
    font-size: 1.35rem;
    font-weight: 950;
}
.home-featured-event p { margin: 0; color: rgba(226,232,240,.7); }
.home-featured-event > strong {
    justify-self: end;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(34,197,94,.14);
    color: #86efac;
}
.home-dark-section { background: #080d1f; color: #fff; }
.home-section-heading h2 { color: #fff; }
.home-dark-section .event-card {
    background: rgba(15,23,42,.92);
    border-color: rgba(148,163,184,.18);
    box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.home-dark-section .event-body h3 a,
.home-dark-section .event-body h3,
.home-dark-section .event-meta,
.home-dark-section .price { color: #f8fafc; }
.home-dark-section .event-body p,
.home-dark-section .event-meta span { color: rgba(226,232,240,.68); }
.home-producer-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: center;
    padding: 34px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(37,99,235,.18), rgba(15,23,42,.96)),
        rgba(15,23,42,.92);
}
.home-producer-panel h2 {
    max-width: 780px;
    margin: 14px 0;
    font-size: clamp(2rem, 4vw, 3.7rem);
    line-height: 1.04;
    font-weight: 950;
}
.home-producer-panel p {
    max-width: 680px;
    color: rgba(226,232,240,.72);
}
.home-producer-metrics {
    display: grid;
    gap: 12px;
}
.home-producer-metrics div {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(2,6,23,.38);
}
.home-producer-metrics strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
    color: #93c5fd;
}
.home-producer-metrics span {
    color: rgba(226,232,240,.68);
    font-weight: 800;
}

.pass-card { display: grid; grid-template-columns: 42% 1fr; background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: 0 22px 54px rgba(16,24,40,.08); }
.pass-card > img { width: 100%; height: 100%; object-fit: cover; min-height: 340px; }
.pass-content { padding: 24px; }
.pass-content h2 { font-weight: 800; margin-top: 12px; }
.qr { width: 180px; height: 180px; border: 10px solid #fff; box-shadow: 0 12px 30px rgba(16,24,40,.14); margin-top: 18px; }
.ticket-wallet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ticket-stub {
    position: relative; display: grid; grid-template-columns: 38% 1fr; min-height: 260px;
    background: linear-gradient(135deg, #101827, #111827 46%, #123326);
    border: 1px solid rgba(148,163,184,.22); color: #fff; text-decoration: none;
    border-radius: 26px; overflow: hidden; box-shadow: 0 28px 70px rgba(2,6,23,.28);
}
.ticket-stub:hover { transform: translateY(-3px); color: #fff; }
.ticket-stub img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.08); }
.ticket-stub-body { padding: 24px; display: flex; flex-direction: column; justify-content: space-between; }
.ticket-stub-body h2 { font-size: 1.35rem; font-weight: 900; margin: 18px 0 10px; }
.ticket-stub-body p { color: #cbd5e1; margin: 0; }
.ticket-stub-body small { color: #cbd5e1; font-weight: 800; }
.ticket-stub-meta { display: flex; justify-content: space-between; align-items: center; gap: 14px; border-top: 1px dashed rgba(255,255,255,.24); padding-top: 18px; margin-top: 22px; }
.ticket-stub-meta strong { font-size: 1.1rem; }
.ticket-stub-cut {
    position: absolute; top: 50%; right: 31%; width: 34px; height: 34px; border-radius: 50%;
    background: var(--bg); transform: translate(50%, -50%); z-index: 2;
}
.ticket-detail { background: #fff; border: 1px solid var(--line); border-radius: 30px; overflow: hidden; box-shadow: 0 30px 90px rgba(2,6,23,.18); }
.ticket-hero { min-height: 360px; background-size: cover; background-position: center; color: #fff; padding: 34px; display: flex; flex-direction: column; justify-content: flex-end; }
.ticket-logo { width: 180px; max-width: 70%; margin-bottom: auto; }
.ticket-hero h1 { font-size: clamp(2rem, 5vw, 4rem); font-weight: 900; max-width: 920px; margin: 20px 0 10px; }
.ticket-hero p { max-width: 780px; color: #dbeafe; font-size: 1.05rem; }
.ticket-info-grid { display: grid; grid-template-columns: 1fr 320px; gap: 28px; padding: 30px; }
.ticket-data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.ticket-data div { padding: 16px; border: 1px solid var(--line); border-radius: 16px; }
.ticket-data dt { color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.ticket-data dd { margin: 5px 0 0; font-weight: 800; overflow-wrap: anywhere; }
.ticket-qr-box { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 1px dashed var(--line); border-radius: 24px; padding: 24px; }
.ticket-qr { width: 260px; height: 260px; margin: 0 0 14px; }
.ticket-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.transfer-box { margin-top: 22px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px; }
.legal-panel p { color: var(--muted); line-height: 1.8; font-size: 1.02rem; }
.captcha-box { min-height: 78px; }
.password-strength {
    height: 10px;
    border-radius: 999px;
    background: rgba(148,163,184,.22);
    overflow: hidden;
    margin-top: 10px;
}
.password-strength span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    transition: width .22s ease, background .22s ease;
    background: #ef4444;
}
.password-strength[data-level="weak"] span { background: #ef4444; }
.password-strength[data-level="medium"] span { background: #f59e0b; }
.password-strength[data-level="strong"] span { background: #22c55e; }
.password-strength[data-level="excellent"] span { background: linear-gradient(90deg, #22c55e, #38bdf8); }
.password-strength-label {
    margin-top: 8px;
    color: var(--muted);
    font-size: .9rem;
    font-weight: 800;
}

.dashboard-stage {
    padding: 22px;
    background:
        radial-gradient(circle at 12% 2%, rgba(37,99,235,.34), transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(14,165,233,.2), transparent 28%),
        linear-gradient(135deg, #031432 0%, #061a3f 36%, #071021 100%);
}
.dashboard-body .premium-nav,
.dashboard-body .footer {
    display: none !important;
}
.dashboard-body .dashboard-stage {
    min-height: 100vh;
    overflow-x: hidden;
}
.dashboard-app {
    display: grid;
    grid-template-columns: 244px minmax(0, 1fr);
    min-height: calc(100vh - 128px);
    max-width: 1540px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(125,211,252,.18);
    border-radius: 28px;
    background: #f8fafc;
    box-shadow: 0 36px 120px rgba(0,0,0,.42);
}
.dashboard-body,
.dashboard-body .app-shell,
.dashboard-body .dashboard-stage,
.dashboard-body .dashboard-app,
.dashboard-body .dashboard-main {
    max-width: 100vw;
}
.dashboard-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 14px;
    background:
        linear-gradient(180deg, rgba(20,74,190,.98), rgba(5,24,61,.98) 42%, #03132d 100%);
    color: #fff;
}
.dashboard-brand {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 8px 10px;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
}
.dashboard-brand img {
    width: 100%;
    max-height: 44px;
    object-fit: contain;
}
.dashboard-nav {
    display: grid;
    gap: 6px;
}
.dashboard-nav a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 13px;
    color: rgba(255,255,255,.86);
    font-weight: 800;
    font-size: .92rem;
}
.dashboard-nav a:hover,
.dashboard-nav a.active {
    background: rgba(255,255,255,.13);
    color: #fff;
    box-shadow: inset 3px 0 0 #60a5fa;
}
.dashboard-nav svg {
    width: 18px;
    height: 18px;
}
.dashboard-user-mini {
    margin-top: auto;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 16px;
    background: rgba(255,255,255,.08);
}
.dashboard-user-mini strong,
.dashboard-user-mini span {
    display: block;
}
.dashboard-user-mini span {
    color: rgba(255,255,255,.64);
    font-size: .84rem;
}
.dashboard-main {
    min-width: 0;
    padding: 32px;
    background:
        radial-gradient(circle at 86% 0%, rgba(37,99,235,.22), transparent 28%),
        radial-gradient(circle at 10% 12%, rgba(14,165,233,.14), transparent 26%),
        linear-gradient(180deg, #071225 0%, #0a1326 48%, #0b1020 100%);
    color: #e5eefc;
}
.dashboard-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 24px;
}
.dashboard-kicker {
    color: #1d4ed8;
    font-weight: 950;
    font-size: .78rem;
    text-transform: uppercase;
}
.dashboard-topbar h1 {
    margin: 6px 0 6px;
    color: #f8fbff;
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    font-weight: 950;
}
.dashboard-topbar p {
    margin: 0;
    color: #91a5c4;
}
.dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}
.dashboard-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.dashboard-app .content-panel,
.dashboard-app .stat-card,
.dashboard-app .finance-split-grid div,
.dashboard-app .wallet-grid > div,
.dashboard-app .quick-action,
.dashboard-app .support-card,
.dashboard-app .email-log-card,
.dashboard-app .withdrawal-card {
    background: linear-gradient(180deg, rgba(15,27,52,.96), rgba(10,20,40,.94)) !important;
    border: 1px solid rgba(125,151,187,.2) !important;
    color: #e5eefc !important;
    box-shadow: 0 22px 58px rgba(0,0,0,.24) !important;
}
.dashboard-app .content-panel h2,
.dashboard-app .stat-card strong,
.dashboard-app .finance-split-grid strong,
.dashboard-app .wallet-grid strong,
.dashboard-app .quick-action strong,
.dashboard-app .table th,
.dashboard-app .table td {
    color: #eaf2ff !important;
}
.dashboard-app .table {
    --bs-table-bg: transparent;
    --bs-table-color: #eaf2ff;
    --bs-table-border-color: rgba(148,163,184,.18);
    --bs-table-striped-bg: rgba(255,255,255,.03);
    --bs-table-hover-bg: rgba(37,99,235,.1);
    color: #eaf2ff;
    background: transparent !important;
}
.dashboard-app .table a {
    color: #79f2b2;
    font-weight: 850;
}
.dashboard-app small,
.dashboard-app .text-muted,
.dashboard-app .mini-list small,
.dashboard-app .event-meta,
.dashboard-app .quick-action span,
.dashboard-app .withdrawal-card small,
.dashboard-app .withdrawal-card p,
.dashboard-app .support-card small,
.dashboard-app .email-log-card small {
    color: #93a6c6 !important;
}
.dashboard-app .table-responsive {
    border-radius: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.dashboard-app .table-responsive,
.dashboard-app .table,
.dashboard-app .table tbody,
.dashboard-app .table tr,
.dashboard-app .table td,
.dashboard-app .table th {
    background: transparent !important;
}
.dashboard-app .badge.text-bg-light {
    background: rgba(148,163,184,.16) !important;
    border: 1px solid rgba(148,163,184,.22);
    color: #f8fbff !important;
}
.dashboard-app .btn-dark-soft {
    background: #10213d;
    color: #eef6ff;
    border: 1px solid rgba(125,151,187,.18);
}
.dashboard-app .btn-dark-soft:hover {
    background: #18345f;
}
.dashboard-app .email-log-card {
    display: grid;
    gap: 8px;
    padding: 16px;
    border-radius: 16px;
}
.dashboard-app .email-log-card strong,
.dashboard-app .support-card strong {
    color: #eaf2ff;
}
.dashboard-app .withdrawal-card strong {
    color: #eaf2ff !important;
}
.dashboard-app .support-card {
    padding: 16px;
}
.dashboard-app .withdrawal-card {
    background: linear-gradient(180deg, rgba(19,34,64,.98), rgba(13,25,48,.96)) !important;
}
.dashboard-app .empty-state {
    background: rgba(15,27,52,.88);
    border-color: rgba(148,163,184,.18);
    color: #93a6c6;
}
.dashboard-app .content-panel,
.dashboard-app .stat-card,
.dashboard-app .quick-action {
    min-width: 0;
}
.stat-card {
    min-height: 116px;
    padding: 22px;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
}
.stat-card span { color: var(--muted); font-weight: 800; }
.stat-card strong { display: block; font-size: 1.65rem; margin-top: 8px; letter-spacing: 0; }
.stat-card svg {
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 12px;
    background: rgba(96,165,250,.14);
    color: #60a5fa;
    opacity: 1;
}
.dashboard-stat-grid .stat-card:nth-child(2) svg { background: rgba(16,185,129,.14); color: #34d399; }
.dashboard-stat-grid .stat-card:nth-child(3) svg { background: rgba(96,165,250,.14); color: #93c5fd; }
.dashboard-grid-main {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
    gap: 18px;
    margin-top: 18px;
    margin-bottom: 18px;
}
.dashboard-panel-large {
    min-width: 0;
}
.dashboard-finance-grid,
.dashboard-wallet,
.dashboard-quick-actions {
    margin-top: 18px;
}
.dashboard-app .chart-panel {
    min-height: 376px;
}
.dashboard-app .chart-panel canvas {
    height: 270px !important;
}
.support-mini-stack {
    display: grid;
    gap: 12px;
}
.dashboard-user-list {
    display: grid;
    gap: 0;
    overflow: hidden;
}
.dashboard-user-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 14px 0;
    border-bottom: 1px solid rgba(148,163,184,.28);
}
.dashboard-user-list article:last-child {
    border-bottom: 0;
}
.dashboard-user-list div,
.dashboard-user-list a,
.dashboard-user-list small {
    min-width: 0;
}
.dashboard-user-list div a {
    display: block;
    overflow: hidden;
    color: #79f2b2;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dashboard-user-list small {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    color: #93a6c6;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dashboard-user-list .badge {
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mini-list { padding: 14px 0; border-bottom: 1px solid var(--line); }
.mini-list small { display: block; color: var(--muted); }
.soft-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.soft-pagination a {
    min-width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--muted);
    text-decoration: none;
    font-weight: 900;
    background: rgba(255,255,255,.08);
}
.soft-pagination a.active,
.soft-pagination a:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
}
.validation-result { margin-top: 24px; padding: 26px; border-radius: 18px; color: #fff; }
.validation-result.valid { background: linear-gradient(135deg, #039855, #00b8a9); }
.validation-result.used { background: linear-gradient(135deg, #f79009, #dc6803); }
.validation-result.not_found, .validation-result.invalid { background: linear-gradient(135deg, #d92d20, #912018); }
.validation-result.expired, .validation-result.forbidden { background: linear-gradient(135deg, #d92d20, #7f1d1d); }
.scanner-panel {
    background: #0b1220; border-radius: 26px; padding: 18px;
    box-shadow: 0 28px 80px rgba(16,24,40,.22); color: #fff;
}
.scanner-frame {
    min-height: 360px; overflow: hidden; border-radius: 20px;
    border: 1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(135deg, rgba(99,91,255,.18), rgba(0,184,169,.16)),
        #111827;
}
.scanner-frame video, .native-scanner-video { width: 100%; min-height: 360px; object-fit: cover; border-radius: 20px; }
.scanner-status {
    min-height: 42px; margin-top: 12px; border-radius: 14px; padding: 10px 12px;
    background: rgba(255,255,255,.08); color: rgba(255,255,255,.78); font-weight: 700;
}
.scanner-status[data-type="success"] { background: rgba(18,183,106,.18); color: #bbf7d0; }
.scanner-status[data-type="error"] { background: rgba(240,68,56,.2); color: #fecaca; }
.share-box {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    margin-top: 24px; border-top: 1px solid var(--line); padding-top: 20px;
}
.share-box strong, .share-box small { display: block; }
.share-box small { color: var(--muted); word-break: break-all; }
.chart-panel canvas { min-height: 260px; }
.admin-filter-panel {
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
}
.admin-filter-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--primary-2), var(--accent));
}
.log-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 24px 0;
}
.log-month-panel { margin-bottom: 22px; }
.log-month-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 18px;
}
.log-month-heading h2 { margin: 4px 0 0; }
.admin-log-list { display: grid; gap: 14px; }
.admin-log-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) minmax(220px, 34%);
    gap: 16px;
    align-items: start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 16px 38px rgba(16,24,40,.06);
}
.admin-log-card h3 {
    font-size: 1rem;
    font-weight: 900;
    margin: 9px 0 6px;
}
.admin-log-card p {
    color: var(--muted);
    margin: 0 0 8px;
}
.admin-log-card small {
    color: var(--muted);
    font-weight: 800;
}
.admin-log-card code {
    width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px;
    background: var(--soft);
    color: var(--ink);
    font-size: .78rem;
}
.admin-log-time {
    min-height: 78px;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(99,91,255,.16), rgba(0,184,169,.12));
    color: var(--ink);
}
.admin-log-time strong,
.admin-log-time span { display: block; }
.admin-log-time span {
    color: var(--muted);
    font-weight: 900;
    font-size: .86rem;
}
.charts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 24px;
}
.chart-panel {
    min-height: 420px;
    display: flex;
    flex-direction: column;
}
.chart-panel h2 {
    font-size: 1.1rem;
    margin-bottom: 18px;
}
.chart-panel canvas {
    width: 100% !important;
    height: 320px !important;
}
.chart-panel-wide { grid-column: 1 / -1; }
.chart-panel-wide canvas { height: 360px !important; }
.event-manager-title { padding-bottom: 8px; }
.manager-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.manager-board {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 22px;
    margin-top: 24px;
}
.manager-health {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.manager-health div {
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
    background: var(--soft);
    min-width: 0;
}
.manager-health span,
.manager-line small,
.manager-list-item small { color: var(--muted); font-weight: 800; }
.manager-health span { overflow-wrap: anywhere; font-size: .86rem; }
.manager-health strong {
    display: block;
    font-size: 1.6rem;
    margin-top: 6px;
}
.manager-line {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 10px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}
.manager-line strong { font-weight: 900; }
.manager-line small { grid-column: 2; }
.manager-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.manager-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.manager-action-card {
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 22px;
    text-align: left;
    color: var(--ink);
    background: rgba(255,255,255,.84);
    box-shadow: 0 18px 46px rgba(16,24,40,.07);
    transition: transform .2s ease, border-color .2s ease;
}
.manager-action-card:hover { transform: translateY(-2px); border-color: rgba(99,91,255,.45); }
.manager-action-card svg { color: var(--primary); width: 28px; height: 28px; }
.manager-action-card strong { display: block; margin-top: 12px; font-size: 1.05rem; }
.manager-action-card span { display: block; color: var(--muted); margin-top: 4px; }
.manager-form { display: grid; gap: 12px; }
.manager-list-panel { min-height: 420px; }
.manager-list-item {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px;
    background: #fff;
    margin-bottom: 12px;
}
.manager-list-item strong,
.manager-list-item small { display: block; }
.manager-task-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.empty-state.compact {
    padding: 24px;
    font-size: .95rem;
}
.log-list { display: grid; gap: 12px; }
.log-item {
    display: flex; justify-content: space-between; gap: 16px; align-items: center;
    border: 1px solid var(--line); background: var(--soft); border-radius: 16px; padding: 14px;
}
.log-item strong { display: block; }
.log-item span, .log-item small { display: block; color: var(--muted); }
.log-item code { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; color: var(--primary); }
.log-item.validated { border-color: rgba(18,183,106,.28); background: #ecfdf3; }
.support-filterbar {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px;
    align-items: end; padding: 18px; margin-bottom: 20px; border: 1px solid var(--line);
    border-radius: 22px; background: rgba(255,255,255,.78); box-shadow: 0 18px 46px rgba(16,24,40,.06);
}
.support-list { display: grid; gap: 12px; }
.support-ticket-row {
    display: grid; grid-template-columns: 110px 1fr 140px 90px; gap: 14px; align-items: center;
    padding: 16px; border: 1px solid var(--line); border-radius: 18px;
    background: rgba(255,255,255,.88); color: inherit; text-decoration: none;
    box-shadow: 0 12px 34px rgba(16,24,40,.06); transition: transform .2s ease, border-color .2s ease;
}
.support-ticket-row:hover { transform: translateY(-2px); border-color: rgba(99,91,255,.42); }
.support-priority, .support-status {
    border-radius: 999px; padding: 8px 10px; font-size: .78rem; font-weight: 900;
    text-align: center; text-transform: uppercase; letter-spacing: .02em;
}
.support-priority { background: #eef4ff; color: #3538cd; }
.priority-urgente .support-priority { background: #fff1f3; color: #c01048; }
.priority-alta .support-priority { background: #fff7ed; color: #c2410c; }
.priority-media .support-priority { background: #eff8ff; color: #026aa2; }
.priority-baixa .support-priority { background: #ecfdf3; color: #027a48; }
.support-main { min-width: 0; display: grid; gap: 4px; }
.support-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.support-main small, .support-date { color: var(--muted); }
.support-status { background: rgba(99,91,255,.1); color: var(--primary); }
.support-upload {
    min-height: 96px; border: 1px dashed rgba(99,91,255,.45); border-radius: 18px; padding: 18px;
    display: flex; align-items: center; gap: 14px; cursor: pointer; background: rgba(99,91,255,.06);
}
.support-upload.compact { min-height: 74px; padding: 14px; }
.support-upload input { display: none; }
.support-upload strong { display: block; }
.support-upload small { color: var(--muted); display: block; }
.support-thread-head { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.support-thread-head p { margin: 0; color: var(--muted); }
.support-thread-head span { align-self: start; border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px; color: var(--muted); }
.support-attachment {
    display: grid; grid-template-columns: 20px 1fr auto; gap: 8px; align-items: center; margin: 8px 0;
    border: 1px solid var(--line); border-radius: 12px; padding: 9px 10px; text-decoration: none; color: inherit;
}
.support-attachment small { color: var(--muted); }
.support-board { display: grid; grid-template-columns: repeat(4, minmax(260px, 1fr)); gap: 18px; overflow-x: auto; padding-bottom: 8px; }
.support-column {
    background: rgba(255,255,255,.78); border: 1px solid var(--line);
    border-radius: 22px; padding: 16px; min-height: 420px;
}
.support-column h2 { font-size: 1rem; font-weight: 800; margin-bottom: 14px; }
.support-card {
    display: flex; flex-direction: column; gap: 8px; color: var(--ink);
    background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; margin-bottom: 12px;
    box-shadow: 0 14px 32px rgba(16,24,40,.06);
}
.support-card small { color: var(--muted); }
.ticket-message { border: 1px solid var(--line); border-radius: 18px; padding: 16px; margin-bottom: 14px; background: var(--soft); }
.ticket-message.staff { background: #eef4ff; border-color: #c7d7fe; }
.ticket-message strong span { color: var(--primary); font-size: .78rem; margin-left: 8px; }
.ticket-message p { margin: 10px 0; }
.admin-quick-actions {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 24px;
}
.dashboard-app .admin-quick-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.finance-split-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
}
.finance-split-grid div {
    border: 1px solid var(--line); border-radius: 18px; padding: 16px;
    background: rgba(255,255,255,.82); box-shadow: 0 14px 34px rgba(16,24,40,.06);
}
.finance-split-grid span { display: block; color: var(--muted); font-size: .9rem; }
.finance-split-grid strong { display: block; font-size: 1.3rem; margin-top: 4px; }
.quick-action {
    display: grid; grid-template-columns: 44px 1fr; column-gap: 14px;
    background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 18px;
    color: var(--ink); box-shadow: 0 18px 44px rgba(16,24,40,.08);
    width: 100%;
    text-align: left;
}
.quick-action svg { grid-row: span 2; color: var(--primary); width: 34px; height: 34px; }
.quick-action strong, .quick-action span { display: block; }
.quick-action span { color: var(--muted); }
.quick-action:hover { transform: translateY(-2px); }
.dashboard-admin-modal { color: #eaf2ff; }
.dashboard-admin-modal-xl { width: min(100%, 1180px); }
.dashboard-admin-modal .form-control,
.dashboard-admin-modal .form-select,
.dashboard-admin-modal textarea {
    background: rgba(8,18,36,.92);
    border-color: rgba(148,163,184,.24);
    color: #f8fbff;
}
.dashboard-admin-modal .form-control::placeholder { color: #64748b; }
.dashboard-admin-modal .form-label,
.dashboard-admin-modal .toggle-line,
.dashboard-admin-modal small { color: #93a6c6; }
.dashboard-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 18px;
}
.dashboard-modal-card {
    padding: 18px;
    border: 1px solid rgba(148,163,184,.2);
    border-radius: 20px;
    background: rgba(8,18,36,.72);
}
.dashboard-modal-card h3 {
    margin: 0 0 14px;
    color: #f8fbff;
    font-weight: 950;
}
.dashboard-modal-log-list,
.dashboard-modal-table { display: grid; gap: 12px; }
.dashboard-modal-log-list article,
.dashboard-modal-table article {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
    padding: 15px;
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 16px;
    background: rgba(8,18,36,.72);
}
.dashboard-modal-table article {
    grid-template-columns: minmax(0, 1fr) auto 180px;
    align-items: center;
}
.dashboard-modal-log-list span {
    width: fit-content;
    height: fit-content;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(96,165,250,.14);
    color: #bfdbfe;
    font-weight: 900;
}
.dashboard-modal-log-list strong,
.dashboard-modal-table strong {
    display: block;
    color: #f8fbff;
}
.dashboard-modal-log-list p {
    margin: 3px 0 6px;
    color: #cbd5e1;
}
.dashboard-modal-table code {
    display: block;
    max-width: 100%;
    margin-top: 7px;
    overflow: hidden;
    color: #93c5fd;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dashboard-admin-modal .withdrawal-admin-card,
.dashboard-admin-modal .support-ticket-row {
    background: rgba(8,18,36,.72) !important;
    border-color: rgba(148,163,184,.2) !important;
    color: #eaf2ff !important;
}
.toggle-line { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--ink); }
.toggle-line input { width: 18px; height: 18px; accent-color: var(--primary); }
.webhook-row { border: 1px solid var(--line); border-radius: 16px; padding: 14px; margin-bottom: 12px; background: var(--soft); }
.collab-inline-form { display: grid; grid-template-columns: 1fr 1.4fr auto auto; gap: 10px; align-items: center; }
.new-ticket { border-color: rgba(99,91,255,.32); background: #f4f3ff; }
.fixed-role-box {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px;
    background: var(--soft);
}
.fixed-role-box strong,
.fixed-role-box small { display: block; }
.fixed-role-box small { color: var(--muted); }
.verify-banner {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    background: linear-gradient(135deg, #fff7ed, #fffbeb);
    border: 1px solid #fed7aa; border-radius: 22px; padding: 22px; margin-bottom: 24px;
}
.verify-banner p { margin: 4px 0 0; color: #9a3412; }
.verify-banner svg { width: 44px; height: 44px; color: #ea580c; }
.email-log-card {
    min-height: 108px; display: flex; flex-direction: column; gap: 8px;
    background: var(--soft); border: 1px solid var(--line); border-radius: 16px; padding: 16px;
}
.email-log-card strong { color: var(--ink); }
.email-log-card small { color: var(--muted); }
.notification-link { position: relative; }
.nav-button { border: 0; background: transparent; font-family: inherit; font-size: .92rem; font-weight: 750; cursor: pointer; }
.notification-link span {
    display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px;
    border-radius: 999px; background: #f04438; color: #fff; font-size: .74rem; font-weight: 900;
}
.notification-modal-backdrop[hidden] { display: none; }
.notification-modal-backdrop {
    position: fixed; inset: 0; z-index: 2000; display: grid; place-items: start end;
    background: rgba(2,6,23,.68); backdrop-filter: blur(10px); padding: 88px 22px 22px;
}
.notification-modal {
    width: min(100%, 560px); max-height: calc(100vh - 120px); overflow: auto;
    background: rgba(15,23,42,.96); border: 1px solid rgba(148,163,184,.24);
    border-radius: 26px; padding: 20px; box-shadow: 0 30px 90px rgba(0,0,0,.42);
}
.notification-modal-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 14px; }
.notification-modal-head h2 { margin: 0; font-weight: 900; }
.notification-modal-head p { margin: 4px 0 0; color: var(--muted); }
.modal-close { width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--line); background: var(--soft); color: var(--ink); font-size: 1.6rem; line-height: 1; }
.modal-open-lite { overflow: hidden; }
.lite-modal-backdrop[hidden] { display: none; }
.lite-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(2,6,23,.72);
    backdrop-filter: blur(12px);
}
.lite-modal {
    width: min(100%, 720px);
    max-height: calc(100vh - 44px);
    overflow: auto;
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 26px;
    padding: 24px;
    background: rgba(15,23,42,.97);
    color: var(--ink);
    box-shadow: 0 28px 80px rgba(0,0,0,.42);
}
.lite-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}
.lite-modal-head h2 { margin: 0; font-weight: 950; }
.lite-modal-head p { margin: 4px 0 0; color: var(--muted); }
.lite-modal-head button {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
    font-size: 1.6rem;
    line-height: 1;
}
.notification-list.compact .notification-card { box-shadow: none; padding: 14px; }
.notification-list { display: grid; gap: 14px; }
.notification-card {
    display: flex; justify-content: space-between; gap: 18px; align-items: center;
    background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 18px;
    box-shadow: 0 18px 44px rgba(16,24,40,.08);
}
.notification-card.unread { border-color: rgba(99,91,255,.42); box-shadow: 0 18px 50px rgba(99,91,255,.14); }
.notification-card h2 { font-size: 1.05rem; margin: 8px 0; font-weight: 800; }
.notification-card p { margin: 0 0 8px; color: var(--muted); }
.notification-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.ranking-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.ranking-card {
    background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 22px; padding: 20px;
    box-shadow: 0 22px 54px rgba(16,24,40,.08);
}
.ranking-card h3 { font-size: 1.05rem; font-weight: 900; margin-bottom: 14px; }
.ranking-row { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ranking-row span { color: var(--primary); font-weight: 900; }
.ranking-row small { color: var(--muted); font-weight: 800; }
.profile-photo-edit { display: flex; gap: 18px; align-items: center; border: 1px solid var(--line); border-radius: 20px; padding: 16px; background: var(--soft); }
.profile-photo-edit img { width: 96px; height: 96px; object-fit: cover; border-radius: 24px; border: 1px solid var(--line); }
.profile-hero { padding: 70px 0 24px; }
.public-profile-card {
    display: flex; gap: 24px; align-items: center;
    background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 28px; padding: 28px;
    box-shadow: 0 24px 70px rgba(16,24,40,.12);
}
body[data-theme="dark"] .public-profile-card { background: rgba(17,24,39,.9); border-color: rgba(148,163,184,.22); }
.public-avatar { width: 132px; height: 132px; object-fit: cover; border-radius: 32px; border: 1px solid var(--line); }
.public-profile-card h1 { font-weight: 900; margin: 10px 0 6px; }
.public-profile-card p, .public-profile-card small { color: var(--muted); }
.saas-split {
    display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; align-items: center;
    background: #101828; color: #fff; border-radius: 28px; padding: 36px;
    box-shadow: 0 28px 80px rgba(16,24,40,.22);
}
.saas-split h2 { font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; margin: 10px 0 14px; }
.saas-split p { color: rgba(255,255,255,.72); }
.feature-stack { display: grid; gap: 14px; }
.feature-stack div { display: grid; grid-template-columns: 42px 1fr; column-gap: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 18px; }
.feature-stack svg { grid-row: span 2; color: #7dd3fc; }
.feature-stack span { color: rgba(255,255,255,.68); }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.empty-state { text-align: center; background: #fff; border: 1px dashed #cbd5e1; border-radius: 18px; padding: 42px; color: var(--muted); font-weight: 700; }
.footer { color: #667085; padding: 30px 0; border-top: 1px solid var(--line); background: rgba(255,255,255,.58); }
.premium-footer {
    padding: 46px 0 24px;
    background: rgba(4,7,18,.86);
    color: #cbd5e1;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 28px;
}
.footer-logo {
    width: 190px;
    max-width: 100%;
    margin-bottom: 14px;
}
.footer-grid p {
    color: #94a3b8;
    max-width: 420px;
    line-height: 1.7;
}
.footer-grid strong,
.footer-grid a,
.footer-grid span { display: block; }
.footer-grid strong {
    color: #fff;
    margin-bottom: 12px;
    font-weight: 900;
}
.footer-grid a,
.footer-grid span {
    color: #94a3b8;
    margin-bottom: 8px;
}
.footer-grid a:hover { color: #fff; }
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid rgba(148,163,184,.2);
    color: #94a3b8;
}
.assigned-task-list { display: grid; gap: 12px; }
.assigned-task-card {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px;
    background: var(--soft);
}
.assigned-task-card strong,
.assigned-task-card small { display: block; }
.assigned-task-card small { color: var(--muted); }
.report-cover {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: 28px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 20px;
    background: var(--surface);
}
.report-cover img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 18px; }
.report-cover h1 { font-size: clamp(2rem, 5vw, 4rem); font-weight: 950; }
.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.slides-page { background: #050816; color: #fff; }
.event-slide {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 7vw;
    page-break-after: always;
    background: radial-gradient(circle at 12% 0%, rgba(56,189,248,.16), transparent 30%), #050816;
}
.hero-slide { background-size: cover; background-position: center; }
.event-slide h1,
.event-slide h2 { font-size: clamp(3rem, 8vw, 7rem); font-weight: 950; max-width: 1100px; }
.event-slide p { font-size: 1.4rem; color: #cbd5e1; }
.slide-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.slide-metrics div,
.slide-list div { border: 1px solid rgba(255,255,255,.14); border-radius: 22px; padding: 24px; background: rgba(255,255,255,.08); }
.slide-metrics span,
.slide-list span { display: block; color: #94a3b8; font-weight: 800; }
.slide-metrics strong { display: block; font-size: 2.2rem; margin-top: 8px; }
.slide-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.slide-list strong { display: block; font-size: 1.2rem; }
.slide-actions { position: fixed; right: 24px; bottom: 24px; z-index: 20; }
.free-ticket-note {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 4px 12px;
    align-items: center;
    border: 1px solid rgba(34,197,94,.28);
    border-radius: 18px;
    padding: 16px;
    background: rgba(34,197,94,.12);
}
.free-ticket-note svg {
    grid-row: span 2;
    color: #22c55e;
}
.free-ticket-note strong,
.free-ticket-note span { display: block; }
.free-ticket-note span { color: var(--muted); }
.ticket-builder-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.ticket-builder-card { min-width: 0; }
.ticket-builder-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.ticket-builder-head h4 { margin: 0; font-weight: 900; }
.event-seat-map {
    display: block;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    background: var(--soft);
}
.event-seat-map img {
    display: block;
    width: 100%;
    max-height: 760px;
    object-fit: contain;
}
.ai-assistant {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1040;
}
.ai-assistant-toggle {
    border: 0;
    border-radius: 999px;
    padding: 13px 18px;
    display: flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, var(--primary), #00b8a9);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 18px 44px rgba(0,0,0,.28);
}
.ai-assistant-panel {
    width: min(390px, calc(100vw - 28px));
    margin-bottom: 12px;
    border: 1px solid var(--line);
    border-radius: 22px;
    overflow: hidden;
    background: rgba(17,24,39,.96);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.ai-assistant-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid var(--line);
}
.ai-assistant-head strong,
.ai-assistant-head small { display: block; }
.ai-assistant-head small { color: var(--muted); }
.ai-assistant-head button {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--ink);
}
.ai-assistant-messages {
    max-height: 340px;
    overflow: auto;
    padding: 16px;
    display: grid;
    gap: 10px;
}
.ai-message {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 11px 13px;
    background: #0f172a;
    color: var(--ink);
    line-height: 1.45;
    white-space: pre-wrap;
}
.ai-message.user {
    justify-self: end;
    max-width: 88%;
    background: rgba(99,91,255,.2);
    border-color: rgba(99,91,255,.36);
}
.ai-message.bot { justify-self: start; max-width: 92%; }
.ai-message.loading { color: var(--muted); }
.ai-assistant-form {
    display: grid;
    grid-template-columns: 1fr 46px;
    gap: 10px;
    padding: 14px;
    border-top: 1px solid var(--line);
}
.ai-assistant-form textarea {
    resize: none;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #0f172a;
    color: var(--ink);
    padding: 10px 12px;
    outline: 0;
}
.ai-assistant-form button {
    border: 0;
    border-radius: 14px;
    background: var(--primary);
    color: #fff;
}
.ai-human-link {
    display: block;
    padding: 0 14px 14px;
    color: var(--muted);
    text-align: center;
    font-weight: 800;
}

@media (max-width: 991px) {
    .section-heading, .page-title .container { align-items: flex-start; flex-direction: column; }
    .page-title { padding: 34px 0 18px; }
    .page-title .container { width: 100%; }
    .event-filter-panel {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px;
        border: 1px solid rgba(148,163,184,.18);
        border-radius: 20px;
        background: rgba(15,23,42,.62);
        box-shadow: 0 18px 48px rgba(0,0,0,.16);
    }
    .event-filter-panel .searchbar,
    .event-filter-panel .form-control,
    .event-filter-panel .form-select,
    .event-filter-panel .btn {
        width: 100%;
        max-width: none;
        min-height: 48px;
    }
    .event-filter-panel .btn {
        margin-top: 2px;
    }
    .dashboard-stage { padding: 10px; }
    .dashboard-app {
        grid-template-columns: 1fr;
        border-radius: 22px;
        min-height: calc(100vh - 20px);
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .dashboard-sidebar {
        position: relative;
        display: block;
        padding: 12px;
        border-radius: 22px 22px 0 0;
    }
    .dashboard-brand {
        width: min(220px, 70%);
        margin-bottom: 12px;
    }
    .dashboard-nav {
        display: flex;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 4px;
        scrollbar-width: none;
    }
    .dashboard-nav::-webkit-scrollbar { display: none; }
    .dashboard-nav a {
        flex: 0 0 auto;
        min-height: 40px;
        padding: 9px 11px;
        white-space: nowrap;
    }
    .dashboard-user-mini { display: none; }
    .dashboard-main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 18px;
        border-radius: 0 0 22px 22px;
        overflow-x: hidden;
    }
    .dashboard-topbar { flex-direction: column; }
    .dashboard-actions {
        justify-content: flex-start;
        width: 100%;
    }
    .dashboard-actions .btn {
        flex: 1 1 150px;
        min-height: 42px;
        min-width: 0;
        white-space: normal;
        text-align: center;
    }
    .dashboard-stat-grid,
    .dashboard-app .admin-quick-actions,
    .dashboard-grid-main {
        grid-template-columns: 1fr;
    }
    .dashboard-app .content-panel,
    .dashboard-app .stat-card,
    .dashboard-app .quick-action {
        border-radius: 18px;
        width: 100%;
        max-width: 100%;
    }
    .dashboard-app .table {
        min-width: 680px;
    }
    .dashboard-user-list article {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .dashboard-user-list .btn {
        grid-column: 1 / -1;
        width: fit-content;
    }
    .dashboard-modal-grid,
    .dashboard-modal-table article,
    .dashboard-modal-log-list article {
        grid-template-columns: 1fr;
    }
    .dashboard-admin-modal-xl {
        width: min(100%, 960px);
    }
    .event-premium-hero { min-height: auto; padding: 92px 0 38px; }
    .event-hero-grid, .event-detail-layout, .event-info-grid { grid-template-columns: 1fr; }
    .event-side-stack { position: static; }
    .event-hero-summary { max-width: 460px; width: 100%; }
    .event-share-panel { align-items: flex-start; flex-direction: column; }
    .hero-card { grid-template-columns: 1fr; margin-top: 98px; }
    .pass-card { grid-template-columns: 1fr; }
    .ticket-wallet-grid, .ticket-info-grid, .ticket-data, .ticket-stub { grid-template-columns: 1fr; }
    .ticket-stub-cut { display: none; }
    .conversion-grid, .saas-split, .home-search-card, .home-category-row, .home-producer-panel { grid-template-columns: 1fr; }
    .home-featured-event { grid-template-columns: 120px minmax(0, 1fr); }
    .home-featured-event > strong { justify-self: start; grid-column: 2; }
    .support-filterbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .support-ticket-row { grid-template-columns: 94px 1fr; }
    .support-status, .support-date { justify-self: start; }
    .support-board { grid-template-columns: repeat(4, 280px); }
    .log-item { align-items: flex-start; flex-direction: column; }
    .log-summary-grid, .charts-grid { grid-template-columns: 1fr; }
    .admin-log-card { grid-template-columns: 1fr; }
    .admin-log-time { place-items: start; text-align: left; padding: 14px; }
    .manager-kpi-grid, .manager-board, .manager-health, .manager-grid, .manager-action-grid, .report-cover, .report-grid, .slide-metrics, .slide-list, .ticket-builder-grid, .event-filter-panel, .wallet-grid, .withdrawal-admin-card, .withdrawal-details-grid { grid-template-columns: 1fr; }
    .assigned-task-card { align-items: flex-start; flex-direction: column; }
    .admin-quick-actions, .collab-inline-form, .ranking-grid, .finance-split-grid { grid-template-columns: 1fr; }
    .notification-card { align-items: flex-start; flex-direction: column; }
    .public-profile-card, .profile-photo-edit { align-items: flex-start; flex-direction: column; }
    .organizer-card:not(.organizer-card-compact) { align-items: flex-start; grid-template-columns: 1fr; flex-direction: column; }
}
/* Nova identidade visual: dark SaaS premium inspirado em plataformas de eventos modernas. */
body[data-theme="dark"] {
    --ink: #f8fafc;
    --muted: #b6c0d4;
    --line: rgba(96, 165, 250, .22);
    --surface: #151d2b;
    --soft: #111827;
    --primary: #8b5cf6;
    --primary-2: #22c55e;
    --accent: #38bdf8;
    background:
        radial-gradient(circle at 82% 15%, rgba(88, 80, 236, .24), transparent 32%),
        radial-gradient(circle at 60% 98%, rgba(124, 58, 237, .22), transparent 34%),
        linear-gradient(180deg, #0b1220 0%, #0f172a 44%, #111827 100%);
}
body[data-theme="dark"]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(148, 163, 184, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, .035) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.28));
}
body[data-theme="dark"] .premium-nav {
    background: rgba(13, 20, 34, .86);
    border-bottom: 1px solid rgba(96, 165, 250, .18);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}
body[data-theme="dark"] .event-card,
body[data-theme="dark"] .content-panel,
body[data-theme="dark"] .auth-card,
body[data-theme="dark"] .stat-card,
body[data-theme="dark"] .chart-panel,
body[data-theme="dark"] .admin-filter-panel,
body[data-theme="dark"] .admin-log-card,
body[data-theme="dark"] .log-month-panel,
body[data-theme="dark"] .organizer-card,
body[data-theme="dark"] .manager-overview,
body[data-theme="dark"] .manager-timeline,
body[data-theme="dark"] .manager-list-item,
body[data-theme="dark"] .manager-action-card,
body[data-theme="dark"] .support-column,
body[data-theme="dark"] .support-card,
body[data-theme="dark"] .support-filterbar,
body[data-theme="dark"] .support-ticket-row,
body[data-theme="dark"] .ranking-card,
body[data-theme="dark"] .notification-card,
body[data-theme="dark"] .pass-card,
body[data-theme="dark"] .withdrawal-card,
body[data-theme="dark"] .wallet-grid > div,
body[data-theme="dark"] .empty-state,
body[data-theme="dark"] .quick-action,
body[data-theme="dark"] .conversion-grid div,
body[data-theme="dark"] .lite-modal,
body[data-theme="dark"] .dashboard-panel,
body[data-theme="dark"] .dashboard-card {
    background:
        linear-gradient(180deg, rgba(24, 34, 51, .94), rgba(17, 24, 39, .92));
    border-color: rgba(96, 165, 250, .22);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .26);
}
body[data-theme="dark"] .sub-card,
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .form-select,
body[data-theme="dark"] .searchbar,
body[data-theme="dark"] .table,
body[data-theme="dark"] .log-item,
body[data-theme="dark"] .ticket-message {
    background: rgba(11, 18, 32, .78);
    border-color: rgba(96, 165, 250, .2);
    color: #f8fafc;
}
body[data-theme="dark"] .page-title {
    background:
        radial-gradient(circle at 12% 12%, rgba(96,165,250,.18), transparent 30%),
        linear-gradient(180deg, rgba(11,18,32,.82), rgba(11,18,32,0));
}
body[data-theme="dark"] .page-title h1,
body[data-theme="dark"] .section-heading h2,
body[data-theme="dark"] .content-panel h2,
body[data-theme="dark"] .event-story-panel h2 {
    color: #fff;
    letter-spacing: 0;
}
body[data-theme="dark"] .eyebrow.dark {
    color: #60a5fa;
}
body[data-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #fff;
    box-shadow: 0 18px 36px rgba(34, 197, 94, .22);
}
body[data-theme="dark"] .btn-dark-soft {
    background: rgba(31, 41, 55, .92);
    border: 1px solid rgba(148, 163, 184, .16);
    color: #f8fafc;
}
body[data-theme="dark"] .btn-dark-soft:hover {
    background: rgba(51, 65, 85, .96);
}
body[data-theme="dark"] .event-category-chip,
body[data-theme="dark"] .badge.text-bg-light {
    background: rgba(96, 165, 250, .14) !important;
    border: 1px solid rgba(96, 165, 250, .28);
    color: #bfdbfe !important;
}
body[data-theme="dark"] .event-detail-hero,
body[data-theme="dark"] .hero {
    background-color: #0b1220;
}
.ticket-builder-card {
    position: relative;
}
.section-subtitle {
    margin: 6px 0 0;
    color: #a8b3cf;
    font-weight: 650;
    max-width: 720px;
}
.ticket-builder-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}
.ticket-builder-card-premium {
    padding: 22px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(15, 23, 42, .96), rgba(17, 28, 46, .9)),
        radial-gradient(circle at 8% 10%, rgba(96, 165, 250, .16), transparent 34%);
    border: 1px solid rgba(96, 165, 250, .24);
    box-shadow: 0 18px 44px rgba(2, 6, 23, .22);
}
.ticket-builder-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(96, 165, 250, .13);
    border: 1px solid rgba(96, 165, 250, .26);
    color: #93c5fd;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}
.ticket-builder-head h4 {
    margin: 0;
    color: #fff;
    font-size: 1.16rem;
    letter-spacing: 0;
}
.ticket-builder-head small {
    display: block;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.45;
    margin-top: 3px;
}
.ticket-builder-fields {
    display: grid;
    grid-template-columns: minmax(180px, 1.25fr) repeat(2, minmax(120px, .72fr)) repeat(3, minmax(140px, 1fr));
    gap: 12px;
    align-items: start;
}
.ticket-builder-fields .ticket-field.wide {
    min-width: 0;
}
.ticket-builder-fields .form-label {
    font-size: .72rem;
    letter-spacing: 0;
    color: #cbd5e1;
    margin-bottom: 7px;
    white-space: nowrap;
}
.ticket-builder-fields .form-control {
    height: 52px;
    border-radius: 14px;
    font-size: .98rem;
    font-weight: 750;
}
.ticket-builder-fields input[type="datetime-local"] {
    min-width: 0;
    font-size: .88rem;
}
.ticket-builder-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(148, 163, 184, .16);
}
.ticket-builder-foot small {
    color: #93a6c6;
    font-weight: 700;
    text-align: right;
}
.ticket-builder-foot .toggle-line {
    margin: 0;
    min-width: fit-content;
}
.delete-toggle span {
    color: #fecaca;
}
.event-editor-panel .ticket-builder-grid {
    grid-template-columns: 1fr;
    gap: 18px;
}
.event-editor-panel .ticket-builder-card-premium {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.event-editor-panel .ticket-builder-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.event-editor-panel .ticket-builder-fields .ticket-field.wide {
    grid-column: auto;
}
.event-editor-panel .ticket-builder-foot {
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.event-editor-panel .ticket-builder-foot small {
    flex: 1 1 280px;
    text-align: left;
    line-height: 1.45;
}
.sales-countdown {
    display: inline-flex;
    margin-left: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(96, 165, 250, .14);
    color: #bfdbfe;
    font-weight: 900;
}
.event-countdown-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    padding: 8px 11px;
    border-radius: 999px;
    border: 1px solid rgba(96, 165, 250, .24);
    background: rgba(96, 165, 250, .12);
    color: #bfdbfe;
    font-size: .84rem;
    font-weight: 850;
}
.event-countdown-chip svg {
    width: 15px;
    height: 15px;
}
.support-ticket-inline {
    color: inherit;
    text-decoration: none;
}
.support-ticket-inline:hover {
    color: inherit;
    border-color: rgba(96, 165, 250, .38);
    transform: translateY(-1px);
}

.interactive-map-toggle {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 20px;
    border: 1px solid rgba(96, 165, 250, .22);
    border-radius: 22px;
    background:
        radial-gradient(circle at 12% 18%, rgba(124, 58, 237, .18), transparent 32%),
        rgba(11, 18, 32, .72);
}
.interactive-map-toggle h3 {
    margin: 5px 0 6px;
    color: #fff;
    font-size: 1.18rem;
}
.interactive-map-toggle p {
    margin: 0;
    color: #a8b3cf;
    max-width: 760px;
}
.interactive-map-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.seat-map-builder-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.seat-map-preview-card,
.seat-selection-panel {
    padding: 22px;
    border: 1px solid rgba(96, 165, 250, .24);
    border-radius: 22px;
    background: #111c2e;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.seat-map-preview-card > span,
.seat-selection-panel > span {
    display: block;
    text-align: center;
    color: #93a6c6;
    font-weight: 800;
    margin-bottom: 10px;
}
.seat-map-stage {
    height: 18px;
    border-radius: 999px;
    background: linear-gradient(90deg, #6d28d9, #4f46e5, #16a34a);
    margin-bottom: 14px;
}
.seat-map-grid {
    display: grid;
    gap: 6px;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
}
.seat-cell {
    min-width: 22px;
    min-height: 22px;
    border: 0;
    border-radius: 6px;
    color: transparent;
    font-size: 0;
    cursor: pointer;
    transition: .16s ease;
}
.seat-selection-panel .seat-cell {
    color: #fff;
    font-size: .62rem;
    font-weight: 850;
}
.seat-cell.available { background: #17c184; }
.seat-cell.disabled,
.seat-cell.sold {
    background: #64748b;
    cursor: not-allowed;
}
.seat-cell.selected {
    background: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,.28);
}
.seat-cell:hover:not(:disabled):not(.sold) {
    transform: scale(1.12);
}
.seat-map-legend {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 14px;
    color: #cbd5e1;
    font-size: .9rem;
    font-weight: 700;
}
.seat-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 4px;
    margin-right: 6px;
    vertical-align: -1px;
}
.seat-dot.available { background: #17c184; }
.seat-dot.selected { background: #3b82f6; }
.seat-dot.sold,
.seat-dot.disabled { background: #64748b; }
.seat-map-builder-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    color: #a8b3cf;
}
.selected-seat-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(96, 165, 250, .12);
    color: #bfdbfe;
    font-weight: 850;
}
@media (max-width: 991.98px) {
    .ticket-builder-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-editor-panel .ticket-builder-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .seat-map-builder-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .interactive-map-toggle { flex-direction: column; }
    .interactive-map-actions { justify-content: flex-start; }
}
@media (max-width: 575.98px) {
    .ticket-builder-fields { grid-template-columns: 1fr; }
    .event-editor-panel .ticket-builder-fields { grid-template-columns: 1fr; }
    .ticket-builder-card-premium { padding: 18px; border-radius: 18px; }
    .ticket-builder-head { align-items: flex-start; }
    .ticket-builder-head .btn { width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
    .ticket-builder-fields .form-label { white-space: normal; }
    .ticket-builder-fields .form-control { height: 50px; }
    .ticket-builder-fields input[type="datetime-local"] { font-size: .98rem; }
    .ticket-builder-foot { align-items: flex-start; flex-direction: column; }
    .ticket-builder-foot small { text-align: left; }
    .seat-map-builder-form { grid-template-columns: 1fr; }
    .seat-map-preview-card,
    .seat-selection-panel { padding: 14px; }
    .seat-cell { min-width: 20px; min-height: 20px; }
    .sales-countdown { display: flex; width: fit-content; margin: 8px 0 0; }
}

@media print {
    .premium-nav, .footer, .no-print, .alert { display: none !important; }
    body, .app-shell, .ticket-detail { background: #fff !important; color: #111827 !important; box-shadow: none !important; }
    .ticket-detail { border: 1px solid #d0d5dd; }
    .ticket-hero { min-height: 260px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
@media (max-width: 575px) {
    html,
    body.dashboard-body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }
    .dashboard-stage {
        padding: 0;
        width: 100vw;
        max-width: 100vw;
    }
    .dashboard-app {
        width: 100%;
        max-width: 100%;
        min-height: 100vh;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        overflow: hidden;
    }
    .dashboard-sidebar {
        width: 100%;
        max-width: 100%;
        border-radius: 0;
        padding: 10px;
        overflow: hidden;
    }
    .dashboard-brand {
        width: 176px;
        min-height: 48px;
        margin-bottom: 10px;
    }
    .dashboard-brand img {
        max-height: 36px;
    }
    .dashboard-nav a {
        min-height: 38px;
        font-size: .82rem;
        max-width: max-content;
    }
    .dashboard-nav svg {
        flex: 0 0 auto;
    }
    .dashboard-main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 14px;
        border-radius: 0;
        overflow-x: hidden;
    }
    .dashboard-topbar {
        gap: 14px;
        margin-bottom: 16px;
    }
    .dashboard-topbar h1 {
        font-size: 1.55rem;
    }
    .dashboard-topbar p {
        font-size: .92rem;
        overflow-wrap: anywhere;
    }
    .dashboard-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
    .dashboard-actions .btn,
    .dashboard-app .quick-action {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        justify-content: center;
        overflow: hidden;
    }
    .dashboard-stat-grid,
    .dashboard-grid-main,
    .dashboard-app .admin-quick-actions,
    .dashboard-wallet,
    .dashboard-finance-grid {
        gap: 12px;
        width: 100%;
        max-width: 100%;
    }
    .dashboard-app .content-panel {
        padding: 18px;
        overflow: hidden;
    }
    .dashboard-app .table-responsive {
        margin-inline: 0;
        width: 100%;
        max-width: 100%;
    }
    .stat-card {
        min-height: 96px;
        padding: 18px;
    }
    .stat-card strong {
        font-size: 1.35rem;
    }
    .stat-card svg {
        width: 34px;
        height: 34px;
        right: 14px;
        top: 14px;
    }
    .dashboard-app .chart-panel {
        min-height: 300px;
    }
    .dashboard-app .chart-panel canvas {
        height: 220px !important;
    }
    .dashboard-user-list article {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }
    .dashboard-user-list .badge,
    .dashboard-user-list .btn {
        width: fit-content;
        max-width: 100%;
    }
    .event-filter-panel {
        padding: 12px;
        border-radius: 18px;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .event-filter-panel .searchbar {
        flex-direction: row;
        align-items: center;
        padding: 8px 12px;
    }
    .event-filter-panel .searchbar input {
        min-width: 0;
    }
    .hero { padding-top: 58px; }
    .hero-panel { min-height: 430px; padding: 18px; }
    .hero-stat { right: 18px; top: 18px; }
    .searchbar, .ticket-row, .auth-links { flex-direction: column; align-items: stretch; }
    .payment-grid, .payment-grid.payment-grid-wide, .support-filterbar, .coupon-card, .receipt-grid { grid-template-columns: 1fr; }
    .support-ticket-row { grid-template-columns: 1fr; gap: 10px; }
    .support-priority, .support-status { width: fit-content; }
    .support-main strong { white-space: normal; }
    .support-thread-head { flex-direction: column; }
    .support-attachment { grid-template-columns: 20px 1fr; }
    .support-attachment small { grid-column: 2; }
    .withdrawal-card { align-items: flex-start; flex-direction: column; }
    .content-panel, .auth-card { padding: 22px; }
    .brand-logo { width: 168px; max-height: 48px; }
    .footer-grid, .footer-bottom { grid-template-columns: 1fr; flex-direction: column; }
    .home-search-card {
        padding: 10px;
        border-radius: 20px;
        overflow: hidden;
    }
    .home-search-input,
    .home-search-card input[type="date"],
    .home-search-card .btn {
        width: 100%;
        min-width: 0;
    }
    .home-search-card input[type="date"] {
        font-size: .98rem;
        padding-inline: 14px;
    }
    .event-hero-copy h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
    .event-hero-meta span { width: 100%; border-radius: 16px; }
    .premium-ticket-option { align-items: flex-start; flex-direction: column; }
    .premium-ticket-price { justify-items: start; width: 100%; }
    .ai-assistant { right: 14px; bottom: 14px; left: 14px; }
    .ai-assistant-toggle { margin-left: auto; }
    .ai-assistant-panel { width: 100%; }
    .home-discovery-hero { padding-top: 58px; }
    .home-featured-event { grid-template-columns: 1fr; }
    .home-featured-event img { width: 100%; height: 180px; }
    .home-featured-event > strong { grid-column: auto; }
}
