/* IGEN Events UI v3 — shared presentation layer for public, member and admin surfaces. */
:root {
    --igen-bg: #06110d;
    --igen-bg-2: #091a13;
    --igen-surface: rgba(12, 31, 23, .78);
    --igen-surface-strong: rgba(16, 39, 29, .96);
    --igen-surface-soft: rgba(255,255,255,.055);
    --igen-border: rgba(255,255,255,.095);
    --igen-border-strong: rgba(122,255,181,.19);
    --igen-text: #f4fbf7;
    --igen-muted: #9db2a6;
    --igen-muted-2: #6f877a;
    --igen-green: #42e57f;
    --igen-green-2: #1fc764;
    --igen-mint: #9af7bb;
    --igen-cyan: #4ee6d7;
    --igen-blue: #73a7ff;
    --igen-yellow: #ffc968;
    --igen-red: #ff746c;
    --igen-purple: #bf91ff;
    --igen-radius-xs: 10px;
    --igen-radius-sm: 14px;
    --igen-radius: 20px;
    --igen-radius-lg: 28px;
    --igen-shadow: 0 24px 70px rgba(0,0,0,.28);
    --igen-shadow-soft: 0 12px 34px rgba(0,0,0,.17);
    --igen-sidebar: 276px;
    --igen-topbar: 74px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.igen-ui-v3 {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.igen-ui-v3 :focus-visible {
    outline: 3px solid rgba(66,229,127,.3) !important;
    outline-offset: 2px;
}
body.igen-ui-v3 ::selection { background: rgba(66,229,127,.32); color: #fff; }
body.igen-ui-v3::-webkit-scrollbar,
body.igen-ui-v3 *::-webkit-scrollbar { width: 10px; height: 10px; }
body.igen-ui-v3::-webkit-scrollbar-track,
body.igen-ui-v3 *::-webkit-scrollbar-track { background: rgba(0,0,0,.08); }
body.igen-ui-v3::-webkit-scrollbar-thumb,
body.igen-ui-v3 *::-webkit-scrollbar-thumb {
    background: rgba(92, 178, 124, .36);
    border: 2px solid transparent;
    background-clip: padding-box;
    border-radius: 20px;
}
body.igen-ui-v3 a, body.igen-ui-v3 button, body.igen-ui-v3 .card,
body.igen-ui-v3 .panel, body.igen-ui-v3 .glass-card { -webkit-tap-highlight-color: transparent; }

/* --------------------------------------------------------------------------
   USER PORTAL
   -------------------------------------------------------------------------- */
body.igen-user-ui {
    min-height: 100vh;
    color: var(--igen-text);
    background:
        radial-gradient(circle at 12% -10%, rgba(46, 204, 113, .16), transparent 34%),
        radial-gradient(circle at 94% 12%, rgba(78, 230, 215, .085), transparent 28%),
        linear-gradient(145deg, #06110d 0%, #08170f 46%, #07120e 100%) !important;
}
body.igen-user-ui .bg-canvas {
    background: linear-gradient(135deg, #06110d 0%, #091d14 47%, #07120e 100%) !important;
}
body.igen-user-ui .grid-overlay { opacity: .42 !important; mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 88%); }
body.igen-user-ui .orb { filter: blur(16px) saturate(1.15); opacity: .75; }
body.igen-user-ui .dashboard-wrapper { min-height: 100vh; }
body.igen-user-ui .sidebar {
    width: var(--igen-sidebar) !important;
    padding: 24px 18px 18px !important;
    background: linear-gradient(180deg, rgba(9,27,19,.97), rgba(6,19,13,.985)) !important;
    border-right: 1px solid var(--igen-border) !important;
    box-shadow: 20px 0 60px rgba(0,0,0,.19) !important;
    backdrop-filter: blur(28px) saturate(1.25) !important;
    z-index: 1060 !important;
}
body.igen-user-ui .sidebar::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 170px;
    pointer-events: none;
    background: radial-gradient(circle at 30% 0, rgba(66,229,127,.13), transparent 72%);
}
body.igen-user-ui .sidebar-brand {
    position: relative;
    display: flex !important;
    align-items: center;
    min-height: 58px;
    margin: 0 4px 18px !important;
    padding: 10px 10px !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
}
body.igen-user-ui .sidebar-brand i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-right: 11px;
    color: #05150b !important;
    background: linear-gradient(135deg, #7ff0a7, #2dd46c) !important;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(45,212,108,.22);
}
body.igen-user-ui .sidebar-profile {
    position: relative;
    margin: 0 0 18px !important;
    padding: 12px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
    border: 1px solid var(--igen-border) !important;
    border-radius: 16px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.035);
}
body.igen-user-ui .sidebar-profile img,
body.igen-user-ui .user-badge img {
    object-fit: cover;
    border: 2px solid rgba(95,235,147,.42) !important;
    box-shadow: 0 0 0 4px rgba(66,229,127,.06);
}
body.igen-user-ui .sp-name { font-weight: 750 !important; letter-spacing: -.01em; }
body.igen-user-ui .sp-role { color: #7d9b8b !important; }
body.igen-user-ui .sidebar-menu { gap: 4px !important; }
body.igen-user-ui .sidebar-menu a,
body.igen-user-ui .sidebar-footer a {
    position: relative;
    min-height: 46px;
    padding: 11px 12px !important;
    border: 1px solid transparent;
    border-radius: 13px !important;
    color: #a7baaf !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease !important;
}
body.igen-user-ui .sidebar-menu a i,
body.igen-user-ui .sidebar-footer a i {
    display: inline-grid;
    place-items: center;
    width: 27px;
    margin-right: 8px !important;
    color: #789486;
    font-size: 17px !important;
    transition: color .2s ease, transform .2s ease;
}
body.igen-user-ui .sidebar-menu a:hover,
body.igen-user-ui .sidebar-footer a:hover {
    color: #f4fff7 !important;
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(255,255,255,.055) !important;
    transform: translateX(3px) !important;
}
body.igen-user-ui .sidebar-menu a.active {
    color: #eafff0 !important;
    background: linear-gradient(100deg, rgba(58,217,116,.17), rgba(58,217,116,.075)) !important;
    border-color: rgba(91,236,145,.16) !important;
    box-shadow: inset 3px 0 0 #42e57f, 0 8px 18px rgba(0,0,0,.08);
}
body.igen-user-ui .sidebar-menu a.active i { color: #56ea8c !important; transform: scale(1.04); }
body.igen-user-ui .sidebar-menu .badge {
    margin-left: auto;
    color: #9ef8bc !important;
    background: rgba(66,229,127,.12) !important;
    border: 1px solid rgba(66,229,127,.15);
}
body.igen-user-ui .sidebar-footer {
    border-top-color: rgba(255,255,255,.075) !important;
    padding-top: 14px !important;
}
body.igen-user-ui .main-content {
    margin-left: var(--igen-sidebar) !important;
    width: calc(100% - var(--igen-sidebar)) !important;
    min-height: 100vh;
    padding: 30px clamp(18px, 3vw, 42px) 48px !important;
}
body.igen-user-ui .top-bar {
    position: sticky;
    top: 0;
    z-index: 900;
    margin: -10px -8px 26px !important;
    padding: 12px 8px 14px !important;
    background: linear-gradient(to bottom, rgba(6,17,13,.96), rgba(6,17,13,.78) 72%, transparent) !important;
    backdrop-filter: blur(14px);
}
body.igen-user-ui .page-title h1 {
    color: #f5fff8 !important;
    font-size: clamp(26px, 3vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
}
body.igen-user-ui .page-title p { max-width: 700px; color: #839b8d !important; font-size: 13.5px !important; }
body.igen-user-ui .actions { gap: 9px !important; }
body.igen-user-ui .btn-icon,
body.igen-user-ui .sidebar-toggle,
body.igen-user-ui .icon-button {
    display: inline-grid !important;
    place-items: center;
    width: 43px !important;
    height: 43px !important;
    min-width: 43px;
    padding: 0 !important;
    color: #d7e7dd !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid var(--igen-border) !important;
    border-radius: 13px !important;
    box-shadow: none !important;
}
body.igen-user-ui .btn-icon:hover,
body.igen-user-ui .sidebar-toggle:hover,
body.igen-user-ui .icon-button:hover {
    color: #fff !important;
    background: rgba(66,229,127,.1) !important;
    border-color: rgba(66,229,127,.22) !important;
    transform: translateY(-2px);
}
body.igen-user-ui .user-badge {
    min-height: 44px;
    padding: 5px 12px 5px 6px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid var(--igen-border) !important;
    border-radius: 14px !important;
}
body.igen-user-ui .user-badge span { color: #dce9e1 !important; font-weight: 650; }

body.igen-user-ui .glass-card,
body.igen-user-ui .card-panel,
body.igen-user-ui .panel,
body.igen-user-ui .stat-card,
body.igen-user-ui .event-card,
body.igen-user-ui .profile-card,
body.igen-user-ui .notification-card,
body.igen-user-ui .filter-card,
body.igen-user-ui .filter-panel {
    background: linear-gradient(145deg, rgba(18,42,31,.78), rgba(10,27,19,.7)) !important;
    border: 1px solid var(--igen-border) !important;
    box-shadow: var(--igen-shadow-soft) !important;
    backdrop-filter: blur(20px) saturate(1.12) !important;
}
body.igen-user-ui .glass-card,
body.igen-user-ui .card-panel,
body.igen-user-ui .panel { border-radius: 20px !important; }
body.igen-user-ui .glass-card:hover,
body.igen-user-ui .event-card:hover,
body.igen-user-ui .stat-card:hover {
    border-color: rgba(85,230,139,.17) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,.24) !important;
}
body.igen-user-ui .stat-card {
    position: relative;
    overflow: hidden;
    min-height: 145px;
    border-radius: 18px !important;
}
body.igen-user-ui .stat-card::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:1px;
    background: linear-gradient(90deg, transparent, rgba(122,245,164,.38), transparent);
}
body.igen-user-ui .stat-icon {
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 1px rgba(255,255,255,.08), 0 9px 22px rgba(0,0,0,.11);
}
body.igen-user-ui .quick-stats {
    gap: 9px !important;
    margin-bottom: 22px !important;
}
body.igen-user-ui .stat-chip {
    min-height: 38px;
    padding: 8px 12px !important;
    color: #bdcec4 !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid var(--igen-border) !important;
    border-radius: 999px !important;
}
body.igen-user-ui .stat-chip strong { color: #f0fff4; }
body.igen-user-ui .event-card {
    overflow: hidden;
    border-radius: 20px !important;
    transform: translateZ(0);
}
body.igen-user-ui .event-card .event-img { overflow: hidden; }
body.igen-user-ui .event-card .event-img::after {
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:55%;
    pointer-events:none;
    background:linear-gradient(to top, rgba(5,14,10,.82), transparent);
}
body.igen-user-ui .event-card .event-img img { transition: transform .5s cubic-bezier(.2,.7,.2,1) !important; }
body.igen-user-ui .event-card:hover .event-img img { transform: scale(1.045) !important; }
body.igen-user-ui .event-card .card-title { color:#f4fff7 !important; letter-spacing:-.018em; }
body.igen-user-ui .event-card .card-text,
body.igen-user-ui .event-meta { color:#91a79a !important; }
body.igen-user-ui .event-meta i { color:#52df86 !important; }
body.igen-user-ui .event-stats { border-top-color: rgba(255,255,255,.07) !important; }
body.igen-user-ui .event-status,
body.igen-user-ui .event-category,
body.igen-user-ui .soft-badge,
body.igen-user-ui .tag {
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,.12);
}
body.igen-user-ui .btn-action,
body.igen-user-ui .btn-primary-custom,
body.igen-user-ui .btn-watch-live,
body.igen-user-ui .btn-success {
    border: 0 !important;
    color: #05150b !important;
    background: linear-gradient(135deg, #6bed98, #2fce6c) !important;
    box-shadow: 0 10px 26px rgba(47,206,108,.2) !important;
    font-weight: 750 !important;
}
body.igen-user-ui .btn-action:hover,
body.igen-user-ui .btn-primary-custom:hover,
body.igen-user-ui .btn-watch-live:hover,
body.igen-user-ui .btn-success:hover {
    background: linear-gradient(135deg, #8af4ad, #41dc7a) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 13px 31px rgba(47,206,108,.27) !important;
}
body.igen-user-ui .btn-outline-glass,
body.igen-user-ui .btn-outline-soft,
body.igen-user-ui .btn-outline-secondary {
    color: #cae0d2 !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.105) !important;
}
body.igen-user-ui .btn-outline-glass:hover,
body.igen-user-ui .btn-outline-soft:hover,
body.igen-user-ui .btn-outline-secondary:hover {
    color: #f2fff6 !important;
    background: rgba(66,229,127,.08) !important;
    border-color: rgba(66,229,127,.2) !important;
}
body.igen-user-ui .form-control,
body.igen-user-ui .form-select,
body.igen-user-ui textarea,
body.igen-user-ui .input-group-text {
    min-height: 46px;
    color: #e8f5ed !important;
    background-color: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.1) !important;
    border-radius: 12px !important;
}
body.igen-user-ui .input-group > .input-group-text { border-radius: 12px 0 0 12px !important; }
body.igen-user-ui .input-group > .form-control:not(:first-child) { border-radius: 0 12px 12px 0 !important; }
body.igen-user-ui .form-control:focus,
body.igen-user-ui .form-select:focus,
body.igen-user-ui textarea:focus {
    border-color: rgba(66,229,127,.42) !important;
    box-shadow: 0 0 0 4px rgba(66,229,127,.085) !important;
}
body.igen-user-ui .form-control::placeholder, body.igen-user-ui textarea::placeholder { color:#647c6f !important; }
body.igen-user-ui .form-select option { color:#eefaf2; background:#0c2418; }
body.igen-user-ui .modal-content {
    color: var(--igen-text);
    background: #0d2118 !important;
    border: 1px solid var(--igen-border-strong) !important;
    border-radius: 22px !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.48) !important;
}
body.igen-user-ui .modal-header,
body.igen-user-ui .modal-footer { border-color: rgba(255,255,255,.08) !important; }
body.igen-user-ui .btn-close { filter: invert(1) grayscale(1); opacity:.7; }
body.igen-user-ui .alert,
body.igen-user-ui .alert-modern { border-radius: 14px !important; border:1px solid rgba(255,255,255,.08) !important; }
body.igen-user-ui .table { --bs-table-bg: transparent; --bs-table-color:#dcebe2; --bs-table-border-color:rgba(255,255,255,.07); }
body.igen-user-ui .table thead th { color:#8ca397 !important; background:rgba(255,255,255,.025) !important; }
body.igen-user-ui .pagination .page-link { color:#bcd2c5; background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08); }
body.igen-user-ui .pagination .active .page-link { color:#041309; background:#43de7b; border-color:#43de7b; }

/* Event detail surface polish without changing event logic. */
body.igen-user-ui .event-shell,
body.igen-user-ui .page-shell { max-width: 1480px; margin-inline: auto; }
body.igen-user-ui .hero { border-radius: 26px !important; border:1px solid rgba(255,255,255,.1) !important; box-shadow:0 30px 70px rgba(0,0,0,.26) !important; }
body.igen-user-ui .hero::after { background:linear-gradient(90deg, rgba(4,15,10,.88), rgba(4,15,10,.46) 55%, rgba(4,15,10,.1)) !important; }
body.igen-user-ui .card-heading { border-bottom-color:rgba(255,255,255,.07) !important; }
body.igen-user-ui .detail-item { background:rgba(255,255,255,.035) !important; border-color:rgba(255,255,255,.07) !important; border-radius:14px !important; }

/* --------------------------------------------------------------------------
   ADMIN PORTAL
   -------------------------------------------------------------------------- */
body.igen-admin-ui {
    min-height: 100vh;
    color: #1d2b24;
    background:
        radial-gradient(circle at 72% -12%, rgba(38,180,94,.085), transparent 34%),
        linear-gradient(180deg, #f6faf7 0%, #f1f7f3 100%) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.igen-admin-ui > .navbar.igen-admin-navbar {
    min-height: var(--igen-topbar);
    padding: 0 22px !important;
    background: rgba(7,26,17,.965) !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 12px 34px rgba(7,26,17,.16) !important;
    backdrop-filter: blur(20px);
}
body.igen-admin-ui .igen-admin-brand {
    display:flex;
    align-items:center;
    gap:11px;
    min-width: var(--igen-sidebar);
    color:#fff !important;
    text-decoration:none;
}
body.igen-admin-ui .igen-admin-brandmark {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    color:#062011;
    background:linear-gradient(135deg,#79eea4,#35d374);
    border-radius:13px;
    box-shadow:0 8px 20px rgba(53,211,116,.19);
}
body.igen-admin-ui .igen-admin-brandtext { display:flex; flex-direction:column; min-width:0; line-height:1.1; }
body.igen-admin-ui .igen-admin-brandtext strong { max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:800; }
body.igen-admin-ui .igen-admin-brandtext small { margin-top:4px; color:rgba(255,255,255,.42); font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
body.igen-admin-ui .igen-admin-navbar .navbar-toggler {
    position: static !important;
    order: -1;
    width:42px;
    height:42px;
    padding:7px;
    border-color:rgba(255,255,255,.1);
    border-radius:12px;
}
body.igen-admin-ui .igen-admin-user {
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 8px 6px 6px;
    color:#e8f5ed !important;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.085);
    border-radius:14px;
    background:rgba(255,255,255,.04);
}
body.igen-admin-ui .igen-admin-user img {
    width:36px;
    height:36px;
    object-fit:cover;
    border-radius:11px;
    border:1px solid rgba(105,235,153,.25);
}
body.igen-admin-ui .igen-admin-user-copy { display:flex; flex-direction:column; line-height:1.15; }
body.igen-admin-ui .igen-admin-user-copy strong { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
body.igen-admin-ui .igen-admin-user-copy small { margin-top:3px; color:rgba(255,255,255,.42); font-size:10px; }
body.igen-admin-ui .dropdown-menu {
    padding:8px;
    border:1px solid rgba(20,55,37,.1);
    border-radius:14px;
    box-shadow:0 18px 46px rgba(15,40,27,.16);
}
body.igen-admin-ui .dropdown-item { padding:9px 11px; border-radius:9px; font-size:13px; }
body.igen-admin-ui .dropdown-item:hover { color:#126438; background:#edf9f1; }

body.igen-admin-ui .sidebar {
    position: fixed !important;
    z-index: 1025 !important;
    top: var(--igen-topbar) !important;
    bottom: 0 !important;
    left: 0 !important;
    width: var(--igen-sidebar) !important;
    padding: 20px 14px 18px !important;
    overflow-y:auto;
    background:linear-gradient(180deg,#0b2618,#081d13) !important;
    border-right:1px solid rgba(7,26,17,.06) !important;
    box-shadow:18px 0 50px rgba(26,70,45,.08);
}
body.igen-admin-ui .sidebar .position-sticky { top:0 !important; padding-top:0 !important; }
body.igen-admin-ui .igen-admin-nav-label {
    padding: 5px 12px 8px;
    color: rgba(205,235,217,.34);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .17em;
}
body.igen-admin-ui .sidebar .nav { gap:3px; }
body.igen-admin-ui .sidebar .nav-link {
    display:flex;
    align-items:center;
    min-height:45px;
    margin:0 !important;
    padding:10px 11px !important;
    color:#9fb8aa !important;
    border:1px solid transparent;
    border-radius:12px !important;
    font-size:13px;
    font-weight:650;
    transition:.2s ease !important;
}
body.igen-admin-ui .sidebar .nav-link i {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    margin-right:9px !important;
    color:#789b86;
    border-radius:9px;
    font-size:15px;
}
body.igen-admin-ui .sidebar .nav-link:hover {
    color:#effbf3 !important;
    background:rgba(255,255,255,.055) !important;
    transform:translateX(2px) !important;
}
body.igen-admin-ui .sidebar .nav-link.active {
    color:#ecfff2 !important;
    background:linear-gradient(100deg,rgba(66,229,127,.16),rgba(66,229,127,.075)) !important;
    border-color:rgba(95,238,148,.14) !important;
    box-shadow:inset 3px 0 0 #42e57f;
}
body.igen-admin-ui .sidebar .nav-link.active i { color:#62e891; background:rgba(66,229,127,.075); }
body.igen-admin-ui .igen-admin-nav-spacer { flex:1; min-height:16px; }
body.igen-admin-ui .igen-admin-signout { margin-top:14px; padding-top:13px; border-top:1px solid rgba(255,255,255,.07); }

body.igen-admin-ui main.col-md-9,
body.igen-admin-ui main.col-lg-10 {
    flex: 0 0 auto !important;
    width: calc(100% - var(--igen-sidebar)) !important;
    max-width: none;
    margin-left: var(--igen-sidebar) !important;
    padding: 30px clamp(22px, 3vw, 44px) 55px !important;
}
body.igen-admin-ui .breadcrumb {
    display:inline-flex;
    margin-bottom:18px;
    padding:8px 11px !important;
    background:#fff !important;
    border:1px solid #e1ebe4;
    border-radius:11px !important;
    box-shadow:0 6px 18px rgba(33,78,49,.035);
    font-size:12px;
}
body.igen-admin-ui h1, body.igen-admin-ui h2, body.igen-admin-ui h3 { letter-spacing:-.025em; }
body.igen-admin-ui h1.h2, body.igen-admin-ui .page-title h1, body.igen-admin-ui .page-heading h1 {
    color:#16251d;
    font-size:clamp(25px,2.6vw,34px) !important;
    font-weight:800 !important;
}
body.igen-admin-ui .dashboard-heading p,
body.igen-admin-ui .page-heading p { color:#718278; }
body.igen-admin-ui .last-updated { color:#8b9b91 !important; }

body.igen-admin-ui .card,
body.igen-admin-ui .glass-card,
body.igen-admin-ui .panel,
body.igen-admin-ui .summary-card,
body.igen-admin-ui .metric-card,
body.igen-admin-ui .table-card,
body.igen-admin-ui .form-card,
body.igen-admin-ui .filter-panel {
    background:rgba(255,255,255,.9) !important;
    border:1px solid #e2ebe5 !important;
    border-radius:18px !important;
    box-shadow:0 10px 32px rgba(27,73,44,.055) !important;
    backdrop-filter:blur(12px);
}
body.igen-admin-ui .metric-card,
body.igen-admin-ui .summary-card { position:relative; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body.igen-admin-ui .metric-card:hover,
body.igen-admin-ui .summary-card:hover {
    transform:translateY(-3px);
    border-color:#d3e4d9 !important;
    box-shadow:0 16px 38px rgba(27,73,44,.085) !important;
}
body.igen-admin-ui .metric-card::before,
body.igen-admin-ui .summary-card::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:3px;
    background:var(--metric-color,var(--card-color,#2ecc71));
    opacity:.7;
}
body.igen-admin-ui .metric-icon,
body.igen-admin-ui .summary-icon,
body.igen-admin-ui .summary-card .summary-icon {
    border:1px solid rgba(0,0,0,.035);
    box-shadow:none !important;
}
body.igen-admin-ui .panel-header,
body.igen-admin-ui .card-header {
    background:transparent !important;
    border-bottom:1px solid #e7eee9 !important;
}
body.igen-admin-ui .card-header:first-child { border-radius:18px 18px 0 0 !important; }
body.igen-admin-ui .btn {
    min-height:40px;
    padding:.48rem .82rem;
    border-radius:11px !important;
    font-size:12.5px;
    font-weight:700;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.igen-admin-ui .btn:hover { transform:translateY(-1px); }
body.igen-admin-ui .btn-success,
body.igen-admin-ui .btn-primary {
    color:#052010 !important;
    background:linear-gradient(135deg,#61e891,#2dcc6a) !important;
    border-color:#3bd878 !important;
    box-shadow:0 8px 20px rgba(45,204,106,.14);
}
body.igen-admin-ui .btn-success:hover,
body.igen-admin-ui .btn-primary:hover { background:linear-gradient(135deg,#73ee9f,#3ed879) !important; box-shadow:0 10px 24px rgba(45,204,106,.2); }
body.igen-admin-ui .btn-outline-success { color:#1c8c4a; border-color:#92d9ac; background:#f8fffa; }
body.igen-admin-ui .btn-outline-success:hover { color:#063c1e; background:#e9f9ef; border-color:#6dce91; }
body.igen-admin-ui .btn-outline-secondary { color:#52635a; border-color:#d5e0d9; background:#fff; }
body.igen-admin-ui .btn-outline-secondary:hover { color:#213329; background:#f1f6f3; border-color:#c5d5cb; }
body.igen-admin-ui .btn-outline-danger { color:#c3433e; border-color:#efc3c0; background:#fffafa; }
body.igen-admin-ui .btn-outline-danger:hover { color:#8d2623; background:#fff0ef; }
body.igen-admin-ui .form-control,
body.igen-admin-ui .form-select,
body.igen-admin-ui textarea,
body.igen-admin-ui .input-group-text {
    min-height:44px;
    border-color:#dce6df !important;
    border-radius:11px !important;
    background-color:#fff !important;
    color:#223128;
    font-size:13px;
}
body.igen-admin-ui .input-group > .input-group-text { border-radius:11px 0 0 11px !important; background:#f6f9f7 !important; color:#759083; }
body.igen-admin-ui .input-group > .form-control:not(:first-child) { border-radius:0 11px 11px 0 !important; }
body.igen-admin-ui .form-control:focus,
body.igen-admin-ui .form-select:focus,
body.igen-admin-ui textarea:focus {
    border-color:#69cf8e !important;
    box-shadow:0 0 0 4px rgba(46,204,113,.1) !important;
}
body.igen-admin-ui .form-label, body.igen-admin-ui label { color:#45584c; font-weight:650; }
body.igen-admin-ui .form-text { color:#8a9a90; }
body.igen-admin-ui .form-check-input:checked { background-color:#2ecc71; border-color:#2ecc71; }
body.igen-admin-ui .table-responsive {
    border-radius:14px;
    scrollbar-width:thin;
}
body.igen-admin-ui .table {
    --bs-table-bg: transparent;
    --bs-table-border-color:#edf1ee;
    margin-bottom:0;
    color:#27372e;
    font-size:12.5px;
}
body.igen-admin-ui .table thead th {
    padding:12px 11px !important;
    color:#77877e !important;
    background:#f7faf8 !important;
    border-bottom:1px solid #e4ebe6 !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.065em !important;
    text-transform:uppercase;
    white-space:nowrap;
}
body.igen-admin-ui .table tbody td { padding:12px 11px !important; border-color:#edf2ee !important; }
body.igen-admin-ui .table-hover > tbody > tr:hover > * { --bs-table-accent-bg:#f7fbf8; color:inherit; }
body.igen-admin-ui .badge,
body.igen-admin-ui .status-badge { border-radius:999px !important; font-weight:750; letter-spacing:.01em; }
body.igen-admin-ui .alert {
    border:1px solid transparent !important;
    border-radius:13px !important;
    box-shadow:none;
}
body.igen-admin-ui .alert-success { color:#176b39; background:#eaf8ef; border-color:#ceecd9 !important; }
body.igen-admin-ui .alert-warning { color:#825c14; background:#fff8e6; border-color:#f4e2ae !important; }
body.igen-admin-ui .alert-danger { color:#9d342f; background:#fff0ef; border-color:#f3cfcc !important; }
body.igen-admin-ui .alert-info { color:#23657a; background:#edf8fb; border-color:#cfe7ee !important; }
body.igen-admin-ui .modal-content {
    border:1px solid #dfe9e2 !important;
    border-radius:20px !important;
    box-shadow:0 30px 80px rgba(28,64,42,.18) !important;
}
body.igen-admin-ui .modal-header, body.igen-admin-ui .modal-footer { border-color:#e8efea !important; }
body.igen-admin-ui .dataTables_wrapper .dataTables_filter input,
body.igen-admin-ui .dataTables_wrapper .dataTables_length select {
    min-height:38px;
    border:1px solid #dce6df !important;
    border-radius:9px !important;
    background:#fff;
}
body.igen-admin-ui .dataTables_wrapper .dataTables_paginate .paginate_button {
    min-width:34px;
    border:0 !important;
    border-radius:9px !important;
}
body.igen-admin-ui .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.igen-admin-ui .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color:#063b1e !important;
    background:#daf4e3 !important;
}
body.igen-admin-ui .notice-item { border-radius:12px !important; }
body.igen-admin-ui .top-actions { gap:8px !important; }
body.igen-admin-ui .filter-panel { padding:18px !important; }
body.igen-admin-ui .bulk-bar { border-radius:13px !important; }

/* Standalone dark admin tools are intentionally kept dark, but normalized. */
body.igen-admin-ui.igen-standalone-dark {
    color:var(--igen-text);
    background:
        radial-gradient(circle at 15% 0, rgba(46,204,113,.15), transparent 30%),
        radial-gradient(circle at 90% 20%, rgba(78,230,215,.08), transparent 28%),
        #06110d !important;
}
body.igen-admin-ui.igen-standalone-dark .glass,
body.igen-admin-ui.igen-standalone-dark .form-card,
body.igen-admin-ui.igen-standalone-dark .panel,
body.igen-admin-ui.igen-standalone-dark .card {
    color:var(--igen-text);
    background:linear-gradient(145deg,rgba(16,39,29,.82),rgba(10,27,19,.74)) !important;
    border-color:rgba(255,255,255,.09) !important;
    box-shadow:var(--igen-shadow-soft) !important;
}

/* --------------------------------------------------------------------------
   AUTH + PUBLIC SURFACES
   -------------------------------------------------------------------------- */
body.igen-auth-ui {
    min-height:100vh;
    background:
        radial-gradient(circle at 15% 10%, rgba(66,229,127,.16), transparent 32%),
        radial-gradient(circle at 85% 15%, rgba(78,230,215,.08), transparent 25%),
        linear-gradient(135deg,#06110d,#0a2016 55%,#07150f) !important;
}
body.igen-auth-ui .glass-card,
body.igen-auth-ui .card {
    border:1px solid rgba(255,255,255,.1) !important;
    border-radius:24px !important;
    box-shadow:0 30px 90px rgba(0,0,0,.34) !important;
}
body.igen-auth-ui .btn-primary,
body.igen-auth-ui .btn-success {
    border:0;
    color:#05170b;
    background:linear-gradient(135deg,#70efa0,#31cf70);
    border-radius:12px;
    font-weight:750;
}
body.igen-auth-ui .form-control,
body.igen-auth-ui .form-select { min-height:47px; border-radius:12px; }

body.igen-public-ui .event-card { transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease !important; }
body.igen-public-ui .event-card:hover { transform:translateY(-6px) !important; box-shadow:0 20px 46px rgba(0,0,0,.16) !important; }
body.igen-public-ui .nav-action, body.igen-public-ui button { border-radius:12px; }

/* Shared micro-interactions */
body.igen-ui-v3 .igen-enter { animation: igenEnter .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes igenEnter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
body.igen-ui-v3 .igen-toast {
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:2000;
    display:flex;
    align-items:center;
    gap:10px;
    max-width:min(420px,calc(100vw - 32px));
    padding:12px 14px;
    color:#eafff1;
    background:rgba(8,30,18,.95);
    border:1px solid rgba(83,229,136,.2);
    border-radius:14px;
    box-shadow:0 18px 55px rgba(0,0,0,.3);
    backdrop-filter:blur(18px);
    font-size:12.5px;
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:.25s ease;
}
body.igen-ui-v3 .igen-toast.show { opacity:1; transform:none; }

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    :root { --igen-sidebar: 250px; }
    body.igen-user-ui .main-content { padding-inline:24px !important; }
    body.igen-admin-ui main.col-md-9, body.igen-admin-ui main.col-lg-10 { padding-inline:28px !important; }
}
@media (max-width: 991.98px) {
    body.igen-user-ui .sidebar {
        width:min(300px,86vw) !important;
        transform:translateX(-105%);
        transition:transform .28s cubic-bezier(.2,.7,.2,1) !important;
    }
    body.igen-user-ui .sidebar.active,
    body.igen-user-ui .sidebar.show { transform:translateX(0) !important; }
    body.igen-user-ui .main-content { width:100% !important; margin-left:0 !important; padding:20px 18px 40px !important; }
    body.igen-user-ui .top-bar { margin-inline:-4px !important; }
    body.igen-user-ui.igen-sidebar-open::after {
        content:"";
        position:fixed;
        z-index:1050;
        inset:0;
        background:rgba(1,8,4,.58);
        backdrop-filter:blur(3px);
    }

    body.igen-admin-ui > .navbar.igen-admin-navbar { padding-inline:14px !important; }
    body.igen-admin-ui .igen-admin-brand { min-width:0; }
    body.igen-admin-ui .sidebar {
        width:min(290px,88vw) !important;
        box-shadow:20px 0 55px rgba(0,0,0,.18);
    }
    body.igen-admin-ui main.col-md-9,
    body.igen-admin-ui main.col-lg-10 {
        width:100% !important;
        margin-left:0 !important;
        padding:24px 18px 45px !important;
    }
    body.igen-admin-ui .sidebar.collapse:not(.show) { display:none !important; }
    body.igen-admin-ui .sidebar.collapse.show { display:block !important; }
    body.igen-admin-ui.igen-sidebar-open::after {
        content:"";
        position:fixed;
        z-index:1020;
        inset:var(--igen-topbar) 0 0;
        background:rgba(5,20,12,.34);
        backdrop-filter:blur(2px);
    }
}
@media (max-width: 767.98px) {
    body.igen-user-ui .page-title h1 { font-size:27px !important; }
    body.igen-user-ui .page-title p { display:none; }
    body.igen-user-ui .user-badge span { display:none; }
    body.igen-user-ui .user-badge { width:44px; padding:4px !important; }
    body.igen-user-ui .user-badge img { width:34px !important; height:34px !important; }
    body.igen-user-ui .quick-stats { overflow-x:auto; flex-wrap:nowrap !important; padding-bottom:5px; }
    body.igen-user-ui .stat-chip { flex:0 0 auto; }
    body.igen-user-ui .glass-card, body.igen-user-ui .card-panel, body.igen-user-ui .panel { border-radius:17px !important; }

    body.igen-admin-ui .igen-admin-brandtext small,
    body.igen-admin-ui .igen-admin-user-copy { display:none; }
    body.igen-admin-ui .igen-admin-user { padding:5px; }
    body.igen-admin-ui .dashboard-heading h1,
    body.igen-admin-ui .page-heading h1 { font-size:25px !important; }
    body.igen-admin-ui .top-actions { width:100%; overflow-x:auto; flex-wrap:nowrap !important; padding-bottom:4px; }
    body.igen-admin-ui .top-actions .btn { flex:0 0 auto; }
    body.igen-admin-ui .filter-grid { grid-template-columns:1fr !important; }
    body.igen-admin-ui .summary-grid, body.igen-admin-ui .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 479.98px) {
    body.igen-user-ui .main-content { padding-inline:13px !important; }
    body.igen-user-ui .top-bar { align-items:center !important; }
    body.igen-user-ui .actions { gap:6px !important; }
    body.igen-user-ui .btn-icon, body.igen-user-ui .sidebar-toggle, body.igen-user-ui .icon-button { width:40px !important; height:40px !important; min-width:40px; }
    body.igen-admin-ui main.col-md-9, body.igen-admin-ui main.col-lg-10 { padding-inline:13px !important; }
    body.igen-admin-ui .summary-grid, body.igen-admin-ui .metric-grid { grid-template-columns:1fr !important; }
    body.igen-admin-ui .igen-admin-navbar { padding-inline:10px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.igen-ui-v3 *, body.igen-ui-v3 *::before, body.igen-ui-v3 *::after {
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}

/* Event-details page uses a dedicated shell; bring it into the same member design language. */
body.igen-user-ui .app-shell { min-height:100vh; }
body.igen-user-ui .app-shell > .sidebar { padding:24px 18px 18px !important; }
body.igen-user-ui .app-shell .brand {
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 4px 18px;
    padding:10px;
    color:#fff;
    font-size:17px;
    font-weight:800;
    letter-spacing:-.02em;
}
body.igen-user-ui .app-shell .brand-icon {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    color:#05150b !important;
    background:linear-gradient(135deg,#7ff0a7,#2dd46c) !important;
    border-radius:12px !important;
    box-shadow:0 8px 22px rgba(45,212,108,.22);
}
body.igen-user-ui .app-shell .profile {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    padding:12px !important;
    background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
    border:1px solid var(--igen-border) !important;
    border-radius:16px !important;
}
body.igen-user-ui .app-shell .profile img {
    width:42px !important;
    height:42px !important;
    object-fit:cover;
    border:2px solid rgba(95,235,147,.42) !important;
    box-shadow:0 0 0 4px rgba(66,229,127,.06);
}
body.igen-user-ui .app-shell .profile strong { color:#f4fff7 !important; font-size:13px; }
body.igen-user-ui .app-shell .profile small { color:#7d9b8b !important; font-size:11px; }
body.igen-user-ui .app-shell .nav-links { display:flex; flex-direction:column; gap:4px; }
body.igen-user-ui .app-shell .nav-links a,
body.igen-user-ui .app-shell .sidebar-logout {
    display:flex;
    align-items:center;
    min-height:46px;
    padding:11px 12px !important;
    color:#a7baaf !important;
    text-decoration:none;
    border:1px solid transparent;
    border-radius:13px !important;
    font-size:13.5px !important;
    font-weight:600 !important;
    transition:.2s ease;
}
body.igen-user-ui .app-shell .nav-links a i,
body.igen-user-ui .app-shell .sidebar-logout i {
    display:inline-grid;
    place-items:center;
    width:27px;
    margin-right:8px;
    color:#789486;
    font-size:17px;
}
body.igen-user-ui .app-shell .nav-links a:hover,
body.igen-user-ui .app-shell .sidebar-logout:hover {
    color:#f4fff7 !important;
    background:rgba(255,255,255,.055) !important;
    border-color:rgba(255,255,255,.055) !important;
    transform:translateX(3px);
}
body.igen-user-ui .app-shell .nav-links a.active {
    color:#eafff0 !important;
    background:linear-gradient(100deg,rgba(58,217,116,.17),rgba(58,217,116,.075)) !important;
    border-color:rgba(91,236,145,.16) !important;
    box-shadow:inset 3px 0 0 #42e57f;
}
body.igen-user-ui .app-shell .sidebar-logout {
    margin-top:auto;
    border-top:1px solid rgba(255,255,255,.07);
}
body.igen-user-ui .app-shell > .main {
    width:calc(100% - var(--igen-sidebar)) !important;
    margin-left:var(--igen-sidebar) !important;
    padding:30px clamp(18px,3vw,42px) 48px !important;
}
body.igen-user-ui .app-shell .topbar {
    position:sticky;
    top:0;
    z-index:900;
    margin:-10px -8px 26px !important;
    padding:12px 8px 14px !important;
    background:linear-gradient(to bottom,rgba(6,17,13,.96),rgba(6,17,13,.78) 72%,transparent) !important;
    backdrop-filter:blur(14px);
}
body.igen-user-ui .app-shell .topbar h1 { color:#f5fff8 !important; letter-spacing:-.035em; }
body.igen-user-ui .app-shell .topbar p { color:#839b8d !important; }

/* Standalone live tools stay in a dark command-center mode. */
body.igen-admin-ui.igen-standalone-dark .form-control,
body.igen-admin-ui.igen-standalone-dark .form-select,
body.igen-admin-ui.igen-standalone-dark textarea,
body.igen-admin-ui.igen-standalone-dark .input-group-text {
    color:#f2fff6 !important;
    background:rgba(255,255,255,.055) !important;
    border-color:rgba(255,255,255,.1) !important;
}
body.igen-admin-ui.igen-standalone-dark .form-control:focus,
body.igen-admin-ui.igen-standalone-dark .form-select:focus,
body.igen-admin-ui.igen-standalone-dark textarea:focus {
    color:#fff !important;
    background:rgba(255,255,255,.075) !important;
    border-color:rgba(66,229,127,.4) !important;
}
body.igen-admin-ui.igen-standalone-dark .form-select option { color:#fff; background:#0d2418; }
body.igen-admin-ui.igen-standalone-dark label { color:rgba(240,255,246,.68) !important; }
body.igen-admin-ui.igen-standalone-dark .alert-success { color:#7df0a7; background:rgba(46,204,113,.12); border-color:rgba(46,204,113,.16) !important; }
body.igen-admin-ui.igen-standalone-dark .alert-danger { color:#ff918b; background:rgba(255,80,72,.1); border-color:rgba(255,80,72,.16) !important; }

@media (max-width:991.98px) {
    body.igen-user-ui .app-shell > .main { width:100% !important; margin-left:0 !important; padding:20px 18px 40px !important; }
}
@media (max-width:479.98px) {
    body.igen-user-ui .app-shell > .main { padding-inline:13px !important; }
}
