:root {
    --ss-bg: #0A0A0A;
    --ss-bg-soft: #111111;
    --ss-panel: #151515;
    --ss-panel-2: #1A1A1A;
    --ss-border: rgba(255,255,255,.09);
    --ss-gold: #FFD166;
    --ss-gold-2: #F4B942;
    --ss-text: #F7F7F7;
    --ss-muted: #9D9D9D;
    --ss-blue: #4DA3FF;
    --ss-purple: #9B7BFF;
    --ss-green: #31D07C;
    --ss-red: #FF5B68;
    --ss-orange: #FF9F43;
}

body.dashboard-body-bg,
body.dashboard-body-bg #eventmie_app,
body.dashboard-body-bg .db-wrapper,
body.dashboard-body-bg #db-wrapper,
body.dashboard-body-bg #page-content-for-mini {
    background: radial-gradient(circle at 82% 0%, rgba(255,209,102,.08), transparent 28%),
                radial-gradient(circle at 24% 10%, rgba(77,163,255,.05), transparent 22%),
                var(--ss-bg) !important;
    color: var(--ss-text);
}

body.dashboard-body-bg #page-content-for-mini { min-height: 100vh; }
body.dashboard-body-bg .bg-light { background: transparent !important; }
body.dashboard-body-bg .text-dark { color: var(--ss-text) !important; }
body.dashboard-body-bg .text-muted,
body.dashboard-body-bg .text-gray-500 { color: var(--ss-muted) !important; }

/* Organizer shell */
.navbar-vertical-compact {
    width: 238px !important;
    background: linear-gradient(180deg, #0d0d0d, #111) !important;
    border-right: 1px solid var(--ss-border);
    box-shadow: 18px 0 60px rgba(0,0,0,.28) !important;
}
.navbar-vertical-compact .navbar-nav { gap: 6px; }
.navbar-vertical-compact .nav-link {
    color: #b8b8b8 !important;
    border-radius: 12px;
    padding: 11px 14px !important;
    transition: .18s ease;
}
.navbar-vertical-compact .nav-link:hover {
    color: #fff !important;
    background: rgba(255,255,255,.055) !important;
}
.navbar-vertical-compact .nav-link.active {
    color: #080808 !important;
    background: linear-gradient(135deg, var(--ss-gold), var(--ss-gold-2)) !important;
    box-shadow: 0 8px 24px rgba(255,209,102,.16);
}
.navbar-vertical-compact .nav-icon {
    width: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.nav-divider-scanner { border-color: var(--ss-border) !important; }
.nav-divider-text { color: #777 !important; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
#page-content-for-mini { margin-left: 238px !important; }
#nav-toggle { display:none !important; }

/* Header / cards */
.ss-page-kicker { color: var(--ss-gold); text-transform: uppercase; font-size: 11px; letter-spacing: .16em; font-weight: 800; }
.ss-page-title { color:#fff; font-size: clamp(28px, 3vw, 42px); font-weight: 800; letter-spacing:-.035em; }
.ss-page-subtitle { color: var(--ss-muted); max-width: 760px; }
.ss-primary-action {
    background: linear-gradient(135deg, var(--ss-gold), var(--ss-gold-2)) !important;
    color:#0a0a0a !important;
    border:0 !important;
    font-weight:800 !important;
    border-radius:12px !important;
    padding: 11px 17px !important;
    box-shadow: 0 12px 30px rgba(255,209,102,.16);
}
.ss-primary-action:hover { transform: translateY(-1px); filter: brightness(1.04); }

body.dashboard-body-bg .card,
.ss-panel {
    background: linear-gradient(180deg, rgba(27,27,27,.96), rgba(18,18,18,.96)) !important;
    border: 1px solid var(--ss-border) !important;
    color: var(--ss-text);
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(0,0,0,.22) !important;
}
body.dashboard-body-bg .card-header,
body.dashboard-body-bg .card-body { background: transparent !important; color:var(--ss-text); }

.ss-hero {
    position:relative;
    overflow:hidden;
    padding: 26px 28px;
    border-radius: 22px;
    border:1px solid var(--ss-border);
    background: linear-gradient(135deg, rgba(255,209,102,.13), rgba(21,21,21,.94) 42%, rgba(77,163,255,.08));
}
.ss-hero:after {
    content:""; position:absolute; right:-80px; top:-120px; width:300px; height:300px;
    background: radial-gradient(circle, rgba(255,209,102,.20), transparent 67%); pointer-events:none;
}
.ss-hero .ss-hero-actions { position:relative; z-index:2; }

.ss-stat-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; margin:18px 0; }
.ss-stat-card { position:relative; overflow:hidden; min-height:145px; padding:21px; border-radius:18px; border:1px solid var(--ss-border); background:var(--ss-panel); }
.ss-stat-card:before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--accent,var(--ss-gold)); }
.ss-stat-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:color-mix(in srgb, var(--accent,var(--ss-gold)) 13%, transparent); color:var(--accent,var(--ss-gold)); }
.ss-stat-value { margin-top:15px; font-size:30px; line-height:1; font-weight:850; letter-spacing:-.035em; color:#fff; }
.ss-stat-label { margin-top:7px; color:var(--ss-muted); font-weight:600; font-size:13px; }
.ss-accent-gold{--accent:var(--ss-gold)} .ss-accent-green{--accent:var(--ss-green)} .ss-accent-blue{--accent:var(--ss-blue)} .ss-accent-purple{--accent:var(--ss-purple)}

.ss-section-title { color:#fff; font-size:18px; font-weight:800; margin:0; }
.ss-section-note { color:var(--ss-muted); font-size:13px; }
.dashboard-chart-card { min-height:360px; }
.chart-icon-wrapper { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:rgba(155,123,255,.12); color:var(--ss-purple); }

/* Event builder */
.ss-builder-shell { padding-bottom:32px; }
.ss-builder-head { padding: 25px 28px 18px; border-bottom:1px solid var(--ss-border); }
.ss-builder-card { overflow:hidden; }
.ss-builder-progress { padding: 12px 18px; border-bottom:1px solid var(--ss-border); background:rgba(255,255,255,.015); }
.ss-builder-help { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; margin:0 0 18px; border-radius:14px; border:1px solid rgba(255,209,102,.20); background:rgba(255,209,102,.06); color:#ddd; }
.ss-builder-help i { color:var(--ss-gold); margin-top:3px; }

.nav-lb-tab { gap:6px; flex-wrap:wrap; padding:6px; background:#101010; border:1px solid var(--ss-border); border-radius:14px; }
.nav-lb-tab .nav-link { color:#969696 !important; border-radius:10px !important; border:0 !important; padding:10px 13px !important; font-weight:700; font-size:13px; }
.nav-lb-tab .nav-link:hover { color:#fff !important; background:rgba(255,255,255,.05); }
.nav-lb-tab .nav-link.active { background:var(--ss-gold) !important; color:#090909 !important; box-shadow:none !important; }

/* Form elements */
body.dashboard-body-bg .form-label { color:#d8d8d8; font-weight:700; font-size:13px; }
body.dashboard-body-bg .form-control,
body.dashboard-body-bg .form-select,
body.dashboard-body-bg select,
body.dashboard-body-bg textarea {
    background:#0d0d0d !important;
    color:#f5f5f5 !important;
    border:1px solid #303030 !important;
    border-radius:11px !important;
    min-height:44px;
}
body.dashboard-body-bg .form-control:focus,
body.dashboard-body-bg .form-select:focus,
body.dashboard-body-bg textarea:focus {
    border-color:rgba(255,209,102,.65) !important;
    box-shadow:0 0 0 .2rem rgba(255,209,102,.10) !important;
}
body.dashboard-body-bg .table { --bs-table-bg: transparent; --bs-table-color:#ddd; --bs-table-border-color:#2a2a2a; color:#ddd; }
body.dashboard-body-bg .table-light { --bs-table-bg:#121212; --bs-table-color:#aaa; }

/* Event cards */
.ss-events-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0 24px 24px; }
.ss-event-card { display:grid; grid-template-columns:140px 1fr; overflow:hidden; border:1px solid var(--ss-border); border-radius:17px; background:#111; min-height:170px; transition:.18s ease; }
.ss-event-card:hover { transform:translateY(-2px); border-color:rgba(255,209,102,.24); box-shadow:0 18px 42px rgba(0,0,0,.24); }
.ss-event-art { width:100%; height:100%; min-height:170px; object-fit:cover; background:#090909; }
.ss-event-body { padding:17px; display:flex; flex-direction:column; }
.ss-event-title { color:#fff; font-size:18px; font-weight:800; line-height:1.2; text-decoration:none; }
.ss-event-meta { color:var(--ss-muted); font-size:12px; margin-top:7px; }
.ss-event-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.ss-chip { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:6px 9px; font-size:11px; font-weight:800; background:#1b1b1b; color:#bdbdbd; border:1px solid #282828; }
.ss-chip.green{color:var(--ss-green); background:rgba(49,208,124,.08); border-color:rgba(49,208,124,.15)}
.ss-chip.blue{color:var(--ss-blue); background:rgba(77,163,255,.08); border-color:rgba(77,163,255,.15)}
.ss-chip.gold{color:var(--ss-gold); background:rgba(255,209,102,.08); border-color:rgba(255,209,102,.15)}
.ss-event-actions { margin-top:auto; display:flex; gap:8px; padding-top:14px; }
.ss-event-actions .btn { border-radius:10px !important; font-weight:800; font-size:12px; }
.ss-empty { grid-column:1/-1; text-align:center; padding:58px 20px; border:1px dashed #303030; border-radius:18px; background:#0f0f0f; }

/* Scanner visual language */
.scanner-wrapper { background:#050505 !important; }
.scanner-result-overlay { background:#090909 !important; color:#fff !important; min-height:100vh; display:flex; flex-direction:column; justify-content:center; padding:32px 20px !important; }
.scanner-result-overlay.success { box-shadow:inset 0 12px 0 var(--ss-green); }
.scanner-result-overlay.warning { box-shadow:inset 0 12px 0 var(--ss-orange); }
.scanner-result-overlay.error { box-shadow:inset 0 12px 0 var(--ss-red); }
.scanner-event-header { font-size:clamp(28px,7vw,56px) !important; font-weight:900 !important; letter-spacing:-.04em; text-align:center; }
.scanner-ticket-badge { display:inline-flex; background:rgba(255,209,102,.12) !important; color:var(--ss-gold) !important; border:1px solid rgba(255,209,102,.25); border-radius:999px; padding:8px 13px; }
.scanner-customer-block { background:#111 !important; border:1px solid #252525; border-radius:16px; padding:20px !important; max-width:580px; width:100%; margin:18px auto !important; }
.scanner-customer-name,.scanner-customer-email { color:#fff !important; text-align:center; }

.dashboard-footer { background:#090909; border-top:1px solid var(--ss-border); }
.dashboard-footer .footer-link { color:#8f8f8f; }
.dashboard-footer .footer-link:hover { color:var(--ss-gold); }

@media(max-width:991px){
    .navbar-vertical-compact { width:76px !important; }
    #page-content-for-mini { margin-left:76px !important; }
    .ss-stat-grid{grid-template-columns:1fr 1fr}.ss-events-grid{grid-template-columns:1fr}
}
@media(max-width:575px){
    .navbar-vertical-compact { width:64px !important; }
    #page-content-for-mini { margin-left:64px !important; }
    .ss-hero { padding:20px; }.ss-stat-grid{grid-template-columns:1fr}.ss-events-grid{padding:0 14px 18px}.ss-event-card{grid-template-columns:1fr}.ss-event-art{height:170px}.ss-builder-head{padding:20px}.nav-lb-tab .nav-link{font-size:0;padding:10px!important}.nav-lb-tab .nav-link i{font-size:13px}
}

/* My Events: turn the legacy data table into a visual event-card grid without changing API behavior */
body.route-eventmie-myevents_index .card.mh-v100 { background:transparent !important; border:0 !important; box-shadow:none !important; }
body.route-eventmie-myevents_index .card.mh-v100 > .card-header {
    background:linear-gradient(135deg, rgba(255,209,102,.10), rgba(20,20,20,.92)) !important;
    border:1px solid var(--ss-border) !important;
    border-radius:18px !important;
    margin-bottom:16px;
}
body.route-eventmie-myevents_index .card-header h1 { color:#fff; letter-spacing:-.03em; }
body.route-eventmie-myevents_index .table-responsive { overflow:visible; }
body.route-eventmie-myevents_index table { display:block; }
body.route-eventmie-myevents_index thead { display:none; }
body.route-eventmie-myevents_index tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.route-eventmie-myevents_index tbody tr {
    display:grid;
    grid-template-columns:1fr 1fr;
    position:relative;
    background:#111 !important;
    border:1px solid var(--ss-border) !important;
    border-radius:18px;
    padding:18px;
    overflow:hidden;
}
body.route-eventmie-myevents_index tbody tr:hover { border-color:rgba(255,209,102,.24) !important; box-shadow:0 18px 44px rgba(0,0,0,.24); transform:translateY(-2px); }
body.route-eventmie-myevents_index tbody td { display:block; border:0 !important; padding:8px 6px !important; color:#ddd; }
body.route-eventmie-myevents_index tbody td:first-child { grid-column:1/-1; border-bottom:1px solid #242424 !important; padding-bottom:15px !important; margin-bottom:3px; }
body.route-eventmie-myevents_index tbody td:first-child img { width:90px !important; height:70px !important; object-fit:cover; border-radius:12px !important; }
body.route-eventmie-myevents_index tbody td:first-child h5 a { color:#fff !important; font-weight:800; font-size:18px; }
body.route-eventmie-myevents_index tbody td:before { content:attr(data-title); display:block; color:#737373; text-transform:uppercase; letter-spacing:.09em; font-size:9px; font-weight:900; margin-bottom:4px; }
body.route-eventmie-myevents_index tbody td:first-child:before { display:none; }
body.route-eventmie-myevents_index tbody td:last-of-type { grid-column:1/-1; }
body.route-eventmie-myevents_index tbody td:last-of-type .d-grid { display:flex !important; flex-wrap:wrap; gap:7px !important; }
body.route-eventmie-myevents_index tbody td:last-of-type .btn { width:auto; border-radius:10px; font-weight:800; }
body.route-eventmie-myevents_index .btn-primary { background:var(--ss-gold) !important; border-color:var(--ss-gold) !important; color:#080808 !important; font-weight:800; }

.ss-scan-topbar { position:fixed; top:0; left:0; right:0; z-index:9999; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; background:rgba(8,8,8,.92); backdrop-filter:blur(12px); border-bottom:1px solid #252525; color:#fff; }
.ss-scan-topbar strong { display:block; color:var(--ss-gold); font-size:18px; }
.ss-scan-topbar span { color:#8f8f8f; font-size:12px; }
.ss-scan-live { color:var(--ss-green); font-size:11px; font-weight:900; letter-spacing:.12em; }
.ss-scan-live i { font-size:8px; margin-right:6px; }

@media(max-width:900px){body.route-eventmie-myevents_index tbody{grid-template-columns:1fr}}

/* Global SoundSwift header */
.nav-header { background:rgba(9,9,9,.96) !important; border-bottom:1px solid rgba(255,255,255,.07) !important; backdrop-filter:blur(14px); }
.nav-header .navbar-brand span { color:#fff !important; letter-spacing:-.02em; }
.nav-header .navbar-brand span:after { content:'  •  SoundSwift'; color:var(--ss-gold); font-size:10px; letter-spacing:.08em; text-transform:uppercase; margin-left:7px; vertical-align:middle; }
.nav-header .nav-link, .nav-header .btn { border-radius:10px; }
.nav-header .btn-primary { background:var(--ss-gold) !important; border-color:var(--ss-gold) !important; color:#090909 !important; font-weight:800; }
