:root {
    /* Variáveis de Cores - Vibrantes */
    --red: #FF0000;
    --cherry-red: #D2042D;
    --coral: #FF4040;
    --orange-red: #FF4500;
    --vivid-orange: #FF5F00;
    --neon-orange: #FF5F00;
    --amber: #FFBF00;
    --neon-yellow: #FFFF00;
    --lime: #00FF00;
    --neon-green: #39FF14;
    --lime-green: #32CD32;
    --emerald: #00C957;
    --mint: #00FFCC;
    --turquoise: #00FFD5;
    --bright-cyan: #00FFFF;
    --cyan: #00FFFF;
    --vivid-turquoise: #1AC1DD;
    --capri-blue: #00BFFF;
    --electric-blue: #1E90FF;
    --royal-blue: #4169E1;
    --neon-blue: #4D4DFF;
    --electric-purple: #8F00FF;
    --neon-purple: #BC13FE;
    --fuchsia: #FF00FF;
    --shocking-pink: #FF007F;
    --neon-pink: #FF1493;
    --hot-pink: #FF69B4;
    
    /* Gradientes comuns */
    --gradient-primary: linear-gradient(90deg, var(--neon-pink), var(--electric-blue));
    --gradient-rainbow: linear-gradient(45deg, var(--neon-pink), var(--neon-green), var(--electric-blue), var(--neon-yellow));
}

/* ==================== */
/* RESET E BASE */
/* ==================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background: linear-gradient(135deg, #ffffff 0%, #f0f8ff 50%, #e6f7ff 100%);
    color: #333;
    overflow-x: hidden;
    line-height: 1.6;
}

/* ==================== */
/* UTILITÁRIOS GLOBAIS */
/* ==================== */

.gradient-bg {
    background: linear-gradient(135deg, #ffffff 0%, #f8fdff 50%, #f0faff 100%);
}

.hero-gradient {
    background: 
        radial-gradient(circle at 20% 50%, rgba(255, 20, 147, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(57, 255, 20, 0.12) 0%, transparent 50%),
        radial-gradient(circle at 40% 80%, rgba(30, 144, 255, 0.1) 0%, transparent 50%),
        linear-gradient(135deg, #ffffff 0%, #f8fdff 100%);
}

.glass-effect {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
}

.text-gradient {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 800;
}

.glow {
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.4));
}

.neon-text {
    text-shadow: 0 0 10px currentColor, 0 0 20px currentColor;
}

.rainbow-border {
    border: 3px solid transparent;
    background: linear-gradient(white, white) padding-box,
                var(--gradient-rainbow) border-box;
}

.sparkle {
    position: relative;
    overflow: hidden;
}

.sparkle::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent 30%,
        rgba(255, 255, 255, 0.8) 50%,
        transparent 70%
    );
    animation: sparkle 3s infinite linear;
}

.particle {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, var(--neon-pink), transparent);
    opacity: 0.3;
}

/* ==================== */
/* ANIMAÇÕES */
/* ==================== */

.floating {
    animation: floating 3s ease-in-out infinite;
}

.pulse-ring {
    animation: pulse 1.5s infinite;
}

.color-rotate {
    animation: colorRotate 5s linear infinite;
}

.bounce {
    animation: bounce 2s infinite;
}

@keyframes floating {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

@keyframes pulse {
    0% { transform: scale(0.95); opacity: 0.8; }
    70% { transform: scale(1.1); opacity: 0.4; }
    100% { transform: scale(0.95); opacity: 0.8; }
}

@keyframes colorRotate {
    0% { filter: hue-rotate(0deg); }
    100% { filter: hue-rotate(360deg); }
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes sparkle {
    0% { transform: rotate(0deg) translateX(-100%); }
    100% { transform: rotate(360deg) translateX(-100%); }
}

@keyframes slideDown {
    from { 
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to { 
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fadeInUp {
    from { 
        opacity: 0;
        transform: translateY(10px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ==================== */
/* COMPONENTES */
/* ==================== */

/* Cursor Follower */
.cursor-follower {
    position: fixed;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle, var(--neon-pink), var(--shocking-pink));
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: multiply;
    transition: transform 0.1s;
    filter: blur(1px);
}

/* Cards */
.event-card {
    backdrop-filter: blur(5px);
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
    transform-style: preserve-3d;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.event-card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: var(--neon-pink);
    box-shadow: 0 20px 40px rgba(255, 20, 147, 0.2), 0 0 30px rgba(57, 255, 20, 0.1);
}

/* Badges */
.category-badge {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.category-badge:hover {
    transform: scale(1.05) rotate(2deg);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08), 0 0 16px rgba(255, 20, 147, 0.45);
}

/* Navigation */
.nav-link {
    position: relative;
    font-weight: 600;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 3px;
    bottom: -5px;
    left: 0;
    background: linear-gradient(90deg, var(--neon-pink), var(--neon-green));
    transition: width 0.3s ease;
    border-radius: 2px;
}

.nav-link:hover::after {
    width: 100%;
}

/* Admin sidebar */
.admin-sidebar {
    width: 276px;
    min-width: 276px;
    height: 100vh;
    position: sticky;
    top: 0;
    overflow-y: auto;
    padding: 20px 14px;
    border-right: 1px solid rgba(148, 163, 184, 0.22);
    scrollbar-width: thin;
    scrollbar-color: rgba(100, 116, 139, 0.35) transparent;
}

.admin-sidebar-brand {
    padding: 0 8px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.admin-sidebar-brand a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #111827;
    text-decoration: none;
}

.admin-sidebar-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 8px;
    color: #ffffff;
    background: linear-gradient(135deg, #ff1493, #1e90ff);
    box-shadow: 0 6px 18px rgba(255, 20, 147, 0.2);
}

.admin-sidebar-brand strong,
.admin-sidebar-brand small {
    display: block;
    letter-spacing: 0;
}

.admin-sidebar-brand strong {
    font-size: 0.94rem;
    line-height: 1.25;
}

.admin-sidebar-brand small {
    margin-top: 2px;
    color: #64748b;
    font-size: 0.71rem;
    font-weight: 600;
}

.admin-sidebar-external {
    margin-left: auto;
    color: #94a3b8;
    font-size: 0.72rem;
}

.admin-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px 0;
}

.admin-sidebar-group {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.admin-sidebar-heading,
.admin-sidebar-subheading {
    margin: 0;
    padding: 0 10px 6px;
    color: #64748b;
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-sidebar-subgroup {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px dashed rgba(148, 163, 184, 0.25);
}

.admin-sidebar-subheading {
    color: #94a3b8;
    font-size: 0.61rem;
}

.admin-sidebar-link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 40px;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-left-width: 3px;
    border-radius: 6px;
    color: #334155;
    font-size: 0.84rem;
    font-weight: 650;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.admin-sidebar-link > i:first-child {
    width: 18px;
    flex: 0 0 18px;
    color: #64748b;
    font-size: 0.85rem;
    text-align: center;
    transition: color 160ms ease;
}

.admin-sidebar-link:hover {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.66);
    border-color: rgba(30, 144, 255, 0.18);
    border-left-color: #1e90ff;
    transform: translateX(2px);
}

.admin-sidebar-link:hover > i:first-child {
    color: #1e90ff;
}

.admin-sidebar-link.is-active {
    color: #9d174d;
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(255, 20, 147, 0.16);
    border-left-color: #ff1493;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.admin-sidebar-link.is-active > i:first-child {
    color: #ff1493;
}

.admin-sidebar-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 23px;
    height: 23px;
    margin-left: auto;
    padding: 0 7px;
    border-radius: 999px;
    color: #ffffff;
    background: #db2777;
    font-size: 0.68rem;
    font-weight: 800;
}

.admin-sidebar-badge.is-warning {
    color: #713f12;
    background: #fde047;
}

.admin-sidebar-footer {
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.admin-sidebar-footer form {
    margin: 3px 0 0;
}

.admin-sidebar-link.is-danger {
    color: #b91c1c;
    background: transparent;
    cursor: pointer;
}

.admin-sidebar-link.is-danger > i:first-child,
.admin-sidebar-link.is-danger:hover > i:first-child {
    color: #dc2626;
}

.admin-sidebar-link.is-danger:hover {
    background: rgba(254, 226, 226, 0.7);
    border-left-color: #dc2626;
}

@media (max-width: 1023px) {
    .admin-sidebar {
        width: 246px;
        min-width: 246px;
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Search */
.search-bar:focus {
    box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.3), 0 0 20px rgba(57, 255, 20, 0.1);
    border-color: var(--neon-pink);
}

/* ==================== */
/* COMPONENTES ESPECÍFICOS */
/* ==================== */

/* Filter Modal */
.filter-modal {
    animation: slideDown 0.3s ease-out;
    transform-origin: top center;
}

.filter-option {
    transition: all 0.2s ease;
}

.filter-option:hover {
    background: linear-gradient(90deg, rgba(255, 20, 147, 0.1), rgba(30, 144, 255, 0.1));
    transform: translateX(5px);
}

.filter-chip {
    animation: fadeInUp 0.3s ease;
}

.filter-active {
    background: var(--gradient-primary);
    color: white !important;
    font-weight: bold !important;
    box-shadow: 0 0 15px rgba(255, 20, 147, 0.4);                        
}

.filter-active:hover {
    color: white !important;
}

/* Carousel */
.carousel-slide {
    transition: transform 0.5s ease-in-out;
}

.carousel-indicator.active {
    background: transparent;
}

.carousel-indicator::before {
    display: block;
    width: 12px;
    height: 12px;
    margin: auto;
    border-radius: 999px;
    background: #d1d5db;
    content: "";
    transition: transform .2s ease, background .2s ease;
}

.carousel-indicator.active::before {
    background: var(--gradient-primary);
    transform: scale(1.2);
}

/* Pagination */
.pagination-item {
    transition: all 0.3s ease;
}

.pagination-item:hover:not(.active) {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.5);
}

.pagination-item.active {
    background: var(--gradient-primary);
    color: white;
    box-shadow: 0 0 15px rgba(255, 20, 147, 0.3);
}

/* View Toggle */
.view-toggle {
    transition: all 0.3s ease;
}

.view-toggle.active {
    background: var(--gradient-primary);
    color: white;
    box-shadow: 0 0 15px rgba(255, 20, 147, 0.3);
}

/* Sort Dropdown */
.sort-dropdown {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Events Grid */
.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 2rem;
}

/* Event List Item */
.event-list-item {
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}

.event-list-item:hover {
    transform: translateX(10px);
    border-bottom-color: var(--neon-pink);
}

/* Date Badge */
.date-badge {
    background: var(--gradient-primary);
    color: white;
    font-weight: bold;
    border-radius: 12px;
    padding: 8px 16px;
    display: inline-block;
    box-shadow: 0 4px 15px rgba(255, 20, 147, 0.3);
}

/* Loading Spinner */
.loading-spinner {
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top: 3px solid var(--neon-pink);
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
}

/* Empty State */
.empty-state {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border: 2px dashed rgba(255, 255, 255, 0.4);
}

/* ==================== */
/* PÁGINA DE EVENTOS DETALHADOS */
/* ==================== */

/* Event Hero */
.event-hero {
    background: linear-gradient(135deg, rgba(255, 20, 147, 0.1) 0%, rgba(30, 144, 255, 0.1) 100%);
}

.events-hero {
    background: linear-gradient(135deg, rgba(255, 20, 147, 0.08) 0%, rgba(30, 144, 255, 0.08) 100%);
}

/* Ticket Card */
.ticket-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
    backdrop-filter: blur(20px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

/* Countdown */
.countdown-item {
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(10px);
}

/* Feature Icon */
.feature-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 15px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Gallery */
.gallery-item {
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}

.gallery-item:hover {
    transform: scale(1.05);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

/* Map */
.map-container {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Program Item */
.program-item {
    border-left: 4px solid var(--neon-pink);
    padding-left: 20px;
    margin-bottom: 25px;
    transition: all 0.3s ease;
}

.program-item:hover {
    transform: translateX(10px);
    border-left-color: var(--neon-green);
}

/* Testimonial Card */
.testimonial-card {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 20px;
    padding: 30px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(255, 20, 147, 0.15);
}

/* Progress Bar */
.progress-bar {
    height: 8px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: var(--gradient-primary);
    border-radius: 10px;
}

/* Filter Sidebar */
.filter-sidebar {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(15px);
    border: 2px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

/* ==================== */
/* SCROLLBAR PERSONALIZADA */
/* ==================== */

.custom-scroll::-webkit-scrollbar {
    width: 8px;
}

.custom-scroll::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
}

.custom-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #c9deff, #bbdaff);
    border-radius: 999px;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #c9deff, #bbdaff);
}

.custom-scroll::-webkit-scrollbar-thumb:active {
    background: linear-gradient(180deg, #bbdaff, #c9deff);
}

/* ==================== */
/* RESPONSIVIDADE */
/* ==================== */

@media (max-width: 768px) {
    .events-grid {
        grid-template-columns: 1fr;
    }
    
    .event-card:hover {
        transform: translateY(-5px);
    }
    
    .event-list-item:hover {
        transform: translateX(5px);
    }
}

@media (max-width: 480px) {
    .category-badge:hover {
        transform: scale(1.02);
    }
    
    .feature-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }
}

/* ==================== */
/* ACESSIBILIDADE */
/* ==================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .floating,
    .pulse-ring,
    .color-rotate,
    .bounce,
    .sparkle::before {
        animation: none;
    }
}

/* ==================== */
/* ESTADOS DE FOCUS */
/* ==================== */

button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus {
    outline: 2px solid var(--neon-pink);
    outline-offset: 2px;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 3px solid var(--neon-pink);
    outline-offset: 3px;
}

.admin-list-search {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 20px 0;
}

.admin-list-search-field {
    position: relative;
    flex: 1 1 320px;
}

.admin-list-search-field i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
}

.admin-list-search-field input,
.admin-list-per-page select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: rgba(255,255,255,.86);
    color: #0f172a;
    outline: none;
}

.admin-list-search-field input { padding: 10px 14px 10px 40px; }
.admin-list-search-field input:focus,
.admin-list-per-page select:focus { border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124,58,237,.12); }
.admin-list-per-page { display:flex; align-items:center; gap:8px; font-size:14px; color:#475569; }
.admin-list-per-page select { width:72px; padding:8px; }
.admin-list-search-button,
.admin-list-clear { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 14px; border-radius:8px; font-weight:700; }
.admin-list-search-button { background:#6d28d9; color:#fff; }
.admin-list-clear { border:1px solid #cbd5e1; background:rgba(255,255,255,.7); color:#334155; }

.admin-pagination { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:20px; color:#475569; font-size:14px; }
.admin-pagination-pages { display:flex; gap:6px; align-items:center; }
.admin-pagination-pages a { min-width:38px; height:38px; padding:0 9px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #cbd5e1; border-radius:8px; background:rgba(255,255,255,.8); color:#334155; font-weight:700; }
.admin-pagination-pages a:hover { border-color:#7c3aed; color:#6d28d9; }
.admin-pagination-pages a.is-current { border-color:#6d28d9; background:#6d28d9; color:#fff; }

@media (max-width: 640px) {
    .admin-list-search > * { width:100%; }
    .admin-list-per-page select { flex:1; }
    .admin-pagination { justify-content:center; text-align:center; }
}

.admin-events-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.admin-events-subtitle { margin-top:4px; color:#64748b; }
.admin-events-primary { min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:8px; background:#6d28d9; color:#fff; font-weight:700; }
.admin-events-filters { padding:16px; border:1px solid rgba(148,163,184,.35); border-radius:8px; background:rgba(255,255,255,.58); }
.admin-events-select { display:flex; align-items:center; gap:8px; color:#475569; font-size:14px; }
.admin-events-select select { min-height:44px; padding:8px 30px 8px 10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; }
.admin-events-list { display:flex; flex-direction:column; border-top:1px solid rgba(148,163,184,.35); }
.admin-event-row { display:grid; grid-template-columns:112px minmax(0,1fr) 170px; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(148,163,184,.35); }
.admin-event-cover { width:112px; aspect-ratio:4/3; overflow:hidden; border-radius:8px; background:#e2e8f0; display:flex; align-items:center; justify-content:center; color:#94a3b8; font-size:28px; }
.admin-event-cover img { width:100%; height:100%; object-fit:cover; }
.admin-event-main { min-width:0; }
.admin-event-title-line { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.admin-event-title-line h3 { color:#0f172a; font-size:17px; line-height:1.35; font-weight:800; }
.admin-status { display:inline-flex; gap:5px; align-items:center; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:800; }
.admin-status.is-published { color:#166534; background:#dcfce7; }
.admin-status.is-draft { color:#475569; background:#e2e8f0; }
.admin-status.is-featured { color:#854d0e; background:#fef9c3; }
.admin-status.is-pending { color:#854d0e; background:#fef3c7; }
.admin-status.is-suspended { color:#991b1b; background:#fee2e2; }
.admin-event-meta { display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; color:#475569; font-size:12px; }
.admin-event-meta span { display:inline-flex; gap:6px; align-items:center; }
.admin-event-summary { margin-top:8px; color:#64748b; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-event-actions { display:flex; flex-direction:column; align-items:stretch; gap:3px; }
.admin-event-actions form { margin:0; }
.admin-event-actions a,
.admin-event-actions button { width:100%; min-height:32px; display:flex; align-items:center; gap:8px; padding:5px 8px; border-radius:6px; color:#475569; font-size:12px; text-align:left; }
.admin-event-actions a:hover,
.admin-event-actions button:hover { background:#f1f5f9; color:#6d28d9; }
.admin-event-actions .is-edit { color:#1d4ed8; font-weight:700; }
.admin-event-actions .is-delete { color:#dc2626; }
.admin-list-empty { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:100%; color:#64748b; text-align:center; }
.admin-list-empty > i { font-size:32px; color:#94a3b8; }

@media (max-width: 820px) {
    .admin-event-row { grid-template-columns:88px minmax(0,1fr); }
    .admin-event-cover { width:88px; }
    .admin-event-actions { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; padding-left:106px; }
    .admin-event-actions form { display:inline-flex; }
    .admin-event-actions a,
    .admin-event-actions button { width:auto; }
}

@media (max-width: 540px) {
    .admin-event-row { grid-template-columns:72px minmax(0,1fr); gap:12px; }
    .admin-event-cover { width:72px; }
    .admin-event-actions { padding-left:0; }
    .admin-events-select { width:100%; }
    .admin-events-select select { flex:1; }
}

/* Admin management table */
.admin-management-page { max-width:1440px; margin:0 auto; }
.admin-management-header { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:26px; }
.admin-management-header h1 { color:#111827; font-size:38px; line-height:1.15; font-weight:900; }
.admin-management-header p { margin-top:7px; color:#64748b; font-size:15px; }
.admin-management-primary { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:11px 17px; border-radius:8px; color:#fff; font-weight:800; background:linear-gradient(45deg,#db2777,#2563eb); box-shadow:0 8px 20px rgba(37,99,235,.18); transition:transform .18s,box-shadow .18s; }
.admin-management-primary:hover { transform:translateY(-1px); box-shadow:0 11px 25px rgba(37,99,235,.25); }
.admin-management-card { overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius:8px; background:rgba(255,255,255,.72); backdrop-filter:blur(12px); box-shadow:0 16px 40px rgba(15,23,42,.09); }
.admin-management-card-title { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:18px 22px; border-bottom:1px solid #e2e8f0; }
.admin-management-card-title h2 { color:#0f172a; font-size:17px; font-weight:800; }
.admin-management-card-title p { margin-top:2px; color:#64748b; font-size:12px; }
.admin-management-legend { display:flex; gap:14px; align-items:center; color:#64748b; font-size:11px; }
.admin-management-legend span { display:inline-flex; align-items:center; gap:6px; }
.admin-management-legend i { width:8px; height:8px; border-radius:50%; }
.admin-management-legend i.is-published { background:#22c55e; }
.admin-management-legend i.is-draft { background:#94a3b8; }
.admin-management-table-wrap { width:100%; overflow-x:auto; }
.admin-management-table { width:100%; min-width:980px; border-collapse:collapse; }
.admin-management-table thead { background:linear-gradient(45deg,rgba(219,39,119,.07),rgba(37,99,235,.07)); }
.admin-management-table th { padding:13px 16px; color:#475569; font-size:11px; line-height:1; font-weight:800; text-align:left; text-transform:uppercase; }
.admin-management-table td { padding:14px 16px; border-top:1px solid #e2e8f0; color:#334155; font-size:13px; vertical-align:middle; }
.admin-management-table tbody tr { transition:background-color .15s; }
.admin-management-table tbody tr:hover { background:rgba(255,255,255,.6); }
.admin-event-identity { min-width:300px; display:flex; align-items:center; gap:12px; }
.admin-event-table-cover { width:64px; height:52px; flex:0 0 64px; overflow:hidden; display:flex; align-items:center; justify-content:center; border-radius:7px; background:#e2e8f0; color:#94a3b8; font-size:20px; }
.admin-event-table-cover img { width:100%; height:100%; object-fit:cover; }
.admin-event-identity-copy { min-width:0; display:flex; flex-direction:column; }
.admin-event-identity-copy strong { max-width:390px; overflow:hidden; color:#0f172a; font-size:14px; white-space:nowrap; text-overflow:ellipsis; }
.admin-event-identity-copy span { margin-top:2px; color:#64748b; font-size:10px; font-weight:700; }
.admin-event-identity-copy small { display:block; max-width:390px; margin-top:3px; overflow:hidden; color:#64748b; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }
.admin-event-detail { display:flex; align-items:center; gap:7px; color:#334155; white-space:nowrap; }
.admin-event-detail i,.admin-event-detail-secondary i { width:13px; color:#64748b; text-align:center; }
.admin-event-detail-secondary { max-width:250px; margin-top:4px; overflow:hidden; color:#64748b; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }
.admin-event-type { display:inline-flex; max-width:170px; padding:5px 9px; overflow:hidden; border:1px solid #dbeafe; border-radius:6px; background:#eff6ff; color:#1d4ed8; font-size:11px; font-weight:700; white-space:nowrap; text-overflow:ellipsis; }
.admin-event-state { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.admin-table-actions-heading { text-align:right !important; }
.admin-table-actions { display:flex; justify-content:flex-end; align-items:center; gap:4px; white-space:nowrap; }
.admin-table-actions form { display:inline-flex; margin:0; }
.admin-table-actions a,.admin-table-actions button { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; color:#64748b; transition:color .15s,background-color .15s; }
.admin-table-actions .is-edit { color:#2563eb; }
.admin-table-actions .is-generate { color:#7c3aed; }
.admin-table-actions .is-publish { color:#15803d; }
.admin-table-actions .is-unpublish { color:#b45309; }
.admin-table-actions .is-publish-disabled { color:#94a3b8; cursor:not-allowed; opacity:.65; }
.admin-table-actions .is-duplicate { color:#059669; }
.admin-table-actions .is-open { color:#0891b2; }
.admin-table-actions .is-delete { color:#dc2626; }
.admin-table-actions a:hover,.admin-table-actions button:hover { background:#f1f5f9; }
.admin-table-actions .is-publish-disabled:hover { background:transparent; }
.admin-generated-state { display:inline-flex; align-items:center; gap:5px; margin-top:1px; font-size:9px; font-weight:700; white-space:nowrap; }
.admin-generated-state.is-ready { color:#15803d; }
.admin-generated-state.is-stale { color:#b45309; }
.admin-generated-state.is-missing { color:#64748b; }
.admin-flash { display:flex; align-items:center; gap:10px; min-height:46px; margin-bottom:16px; padding:10px 14px; border:1px solid; border-radius:8px; font-size:13px; font-weight:700; }
.admin-flash.is-success { border-color:#86efac; background:#f0fdf4; color:#166534; }
.admin-flash.is-error { border-color:#fca5a5; background:#fef2f2; color:#991b1b; }
.admin-flash.is-warning { border-color:#fcd34d; background:#fffbeb; color:#92400e; }

@media (max-width: 720px) {
    .admin-management-header { align-items:stretch; }
    .admin-management-header h1 { font-size:31px; }
    .admin-management-primary { width:100%; }
    .admin-management-card-title { align-items:flex-start; }
    .admin-management-legend { width:100%; }
}

/* Central user details */
.admin-central-user-header { margin-bottom:18px; }
.admin-central-user-identity { min-width:0; display:flex; align-items:center; gap:14px; }
.admin-central-back { width:38px; height:38px; flex:0 0 38px; display:flex; align-items:center; justify-content:center; border:1px solid #cbd5e1; border-radius:8px; background:rgba(255,255,255,.78); color:#475569; }
.admin-central-back:hover { border-color:#7c3aed; color:#6d28d9; }
.admin-central-avatar { width:54px; height:54px; flex:0 0 54px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#111827; color:#fff; font-size:18px; font-weight:900; }
.admin-central-title-line { min-width:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-central-title-line h1 { min-width:0; overflow:hidden; font-size:30px; text-overflow:ellipsis; white-space:nowrap; }
.admin-central-user-identity p { overflow-wrap:anywhere; }
.admin-central-timezone { display:inline-flex; align-items:center; gap:7px; color:#64748b; font-size:12px; }
.admin-central-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; border:1px solid #dbe2ea; border-radius:8px; background:rgba(255,255,255,.72); }
.admin-central-metrics > div { min-width:0; display:flex; align-items:center; gap:10px; padding:14px 16px; border-right:1px solid #e2e8f0; color:#64748b; font-size:12px; }
.admin-central-metrics > div:last-child { border-right:0; }
.admin-central-metrics i { width:28px; color:#6d28d9; font-size:16px; text-align:center; }
.admin-central-metrics span { min-width:0; display:flex; flex-direction:column; }
.admin-central-metrics strong { overflow:hidden; color:#0f172a; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.admin-central-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start; }
.admin-central-main,.admin-central-aside { min-width:0; display:flex; flex-direction:column; gap:18px; }
.admin-central-aside { position:sticky; top:20px; }
.admin-central-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-central-data-grid > div { min-width:0; padding:17px 22px; border-right:1px solid #e2e8f0; border-top:1px solid #e2e8f0; }
.admin-central-data-grid > div:nth-child(-n+3) { border-top:0; }
.admin-central-data-grid > div:nth-child(3n) { border-right:0; }
.admin-central-data-grid dt,.admin-central-security dt { color:#64748b; font-size:10px; font-weight:800; text-transform:uppercase; }
.admin-central-data-grid dd { margin-top:5px; color:#0f172a; font-size:13px; font-weight:700; }
.admin-central-break { overflow-wrap:anywhere; }
.admin-central-rows { display:flex; flex-direction:column; }
.admin-central-row { min-width:0; display:flex; align-items:center; gap:12px; padding:14px 20px; border-top:1px solid #e2e8f0; }
.admin-central-row:first-child { border-top:0; }
.admin-central-row-icon { width:34px; height:34px; flex:0 0 34px; display:flex; align-items:center; justify-content:center; border-radius:7px; background:#f1f5f9; color:#475569; }
.admin-central-row-main { min-width:0; flex:1; display:flex; flex-direction:column; }
.admin-central-row-main strong { overflow:hidden; color:#0f172a; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.admin-central-row-main small,.admin-central-row-meta small { margin-top:3px; color:#64748b; font-size:11px; }
.admin-central-row-meta { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
.admin-central-row-meta strong { color:#334155; font-size:12px; }
.admin-central-row time { flex:0 0 auto; color:#64748b; font-size:10px; }
.admin-central-empty { min-height:92px; display:flex; align-items:center; justify-content:center; gap:8px; padding:20px; color:#64748b; font-size:13px; text-align:center; }
.admin-central-empty i { font-size:20px; }
.admin-central-event-list { display:flex; flex-direction:column; }
.admin-central-event-row { min-width:0; display:flex; align-items:center; gap:16px; padding:15px 20px; border-top:1px solid #e2e8f0; }
.admin-central-event-row:first-child { border-top:0; }
.admin-central-event-copy { min-width:0; flex:1; }
.admin-central-event-copy > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.admin-central-event-copy > div > strong { min-width:0; overflow:hidden; color:#0f172a; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.admin-central-event-copy small { display:block; margin-top:4px; overflow:hidden; color:#64748b; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.admin-central-event-actions { flex:0 0 auto; display:flex; gap:4px; }
.admin-central-event-actions a { min-height:34px; display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:7px; color:#475569; font-size:11px; font-weight:700; }
.admin-central-event-actions a:hover { background:#f1f5f9; color:#6d28d9; }
.admin-central-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.admin-central-two-columns .admin-management-card { height:100%; }
.admin-central-rows.is-compact { max-height:420px; overflow:auto; }
.admin-central-action-list { display:flex; flex-direction:column; padding:8px; }
.admin-central-action-list form { margin:0; }
.admin-central-action-list button { width:100%; display:flex; align-items:center; gap:11px; padding:11px 10px; border-radius:7px; color:#334155; text-align:left; }
.admin-central-action-list button:hover { background:#f1f5f9; }
.admin-central-action-list button > i { width:26px; color:#64748b; text-align:center; }
.admin-central-action-list button > span { display:flex; flex-direction:column; }
.admin-central-action-list button strong { font-size:12px; }
.admin-central-action-list button small { margin-top:2px; color:#64748b; font-size:10px; font-weight:400; }
.admin-central-action-list button.is-primary,.admin-central-action-list button.is-primary > i { color:#166534; }
.admin-central-action-list button.is-danger,.admin-central-action-list button.is-danger > i { color:#b91c1c; }
.admin-central-security dl { display:flex; flex-direction:column; padding:6px 18px 12px; }
.admin-central-security dl > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #e2e8f0; }
.admin-central-security dl > div:first-child { border-top:0; }
.admin-central-security dd { color:#334155; font-size:11px; font-weight:700; text-align:right; }

@media (max-width: 1120px) {
    .admin-central-layout { grid-template-columns:minmax(0,1fr); }
    .admin-central-aside { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
}
@media (max-width: 860px) {
    .admin-central-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-central-metrics > div:nth-child(2) { border-right:0; }
    .admin-central-metrics > div:nth-child(n+3) { border-top:1px solid #e2e8f0; }
    .admin-central-data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-central-data-grid > div:nth-child(3) { border-top:1px solid #e2e8f0; }
    .admin-central-data-grid > div:nth-child(3n) { border-right:1px solid #e2e8f0; }
    .admin-central-data-grid > div:nth-child(2n) { border-right:0; }
    .admin-central-two-columns,.admin-central-aside { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
    .admin-central-user-identity { align-items:flex-start; }
    .admin-central-avatar { display:none; }
    .admin-central-title-line h1 { width:100%; font-size:25px; white-space:normal; }
    .admin-central-timezone { display:none; }
    .admin-central-data-grid { grid-template-columns:1fr; }
    .admin-central-data-grid > div { border-right:0 !important; border-top:1px solid #e2e8f0 !important; }
    .admin-central-data-grid > div:first-child { border-top:0 !important; }
    .admin-central-row { align-items:flex-start; }
    .admin-central-row-meta { max-width:42%; }
    .admin-central-event-row { align-items:flex-start; flex-direction:column; }
    .admin-central-event-actions { width:100%; }
    .admin-central-event-actions a { flex:1; justify-content:center; }
}

/* Administrative dashboard */
.admin-dashboard { max-width:1440px; margin:0 auto; }
.admin-dashboard-header { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:26px; }
.admin-dashboard-eyebrow { color:#2563eb !important; font-size:11px !important; font-weight:800; text-transform:uppercase; }
.admin-dashboard-header h1 { margin-top:3px; color:#111827; font-size:38px; line-height:1.15; font-weight:900; }
.admin-dashboard-intro { margin-top:7px; color:#64748b; font-size:15px; }
.admin-dashboard-header-actions { display:flex; align-items:center; gap:10px; }
.admin-dashboard-secondary { min-height:46px; display:inline-flex; align-items:center; gap:8px; padding:10px 15px; border:1px solid #cbd5e1; border-radius:8px; background:rgba(255,255,255,.75); color:#334155; font-weight:700; }
.admin-dashboard-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.admin-dashboard-metric { position:relative; min-height:128px; display:flex; align-items:center; gap:13px; padding:18px; overflow:hidden; border:1px solid rgba(203,213,225,.8); border-radius:8px; background:rgba(255,255,255,.78); box-shadow:0 8px 24px rgba(15,23,42,.06); transition:transform .15s,box-shadow .15s; }
.admin-dashboard-metric:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(15,23,42,.10); }
.admin-dashboard-metric-icon { width:46px; height:46px; flex:0 0 46px; display:flex; align-items:center; justify-content:center; border-radius:8px; font-size:20px; }
.admin-dashboard-metric.is-events .admin-dashboard-metric-icon { background:#dbeafe; color:#1d4ed8; }
.admin-dashboard-metric.is-published .admin-dashboard-metric-icon { background:#dcfce7; color:#15803d; }
.admin-dashboard-metric.is-upcoming .admin-dashboard-metric-icon { background:#fef3c7; color:#b45309; }
.admin-dashboard-metric.is-pending .admin-dashboard-metric-icon { background:#fce7f3; color:#be185d; }
.admin-dashboard-metric-copy { min-width:0; display:flex; flex-direction:column; }
.admin-dashboard-metric-copy small { color:#64748b; font-size:11px; font-weight:700; }
.admin-dashboard-metric-copy strong { margin-top:1px; color:#0f172a; font-size:29px; line-height:1.15; }
.admin-dashboard-metric-copy em { margin-top:3px; overflow:hidden; color:#94a3b8; font-size:10px; font-style:normal; white-space:nowrap; text-overflow:ellipsis; }
.admin-dashboard-metric-arrow { margin-left:auto; color:#cbd5e1; font-size:11px; }
.admin-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr); gap:16px; margin-top:16px; }
.admin-dashboard-panel { min-width:0; overflow:hidden; border:1px solid rgba(203,213,225,.75); border-radius:8px; background:rgba(255,255,255,.78); box-shadow:0 10px 28px rgba(15,23,42,.06); }
.admin-dashboard-panel-header { min-height:72px; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid #e2e8f0; }
.admin-dashboard-panel-header h2 { color:#0f172a; font-size:15px; font-weight:800; }
.admin-dashboard-panel-header p { margin-top:2px; color:#64748b; font-size:10px; }
.admin-dashboard-panel-header > a { display:inline-flex; align-items:center; gap:6px; color:#2563eb; font-size:11px; font-weight:800; white-space:nowrap; }
.admin-dashboard-panel-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:6px; background:#eff6ff; color:#1d4ed8; font-size:10px; font-weight:700; white-space:nowrap; }
.admin-dashboard-chart { position:relative; width:100%; height:300px; padding:16px 18px 18px; }
.admin-dashboard-chart canvas { width:100% !important; height:100% !important; }
.admin-dashboard-chart-fallback { padding:28px; color:#64748b; text-align:center; }
.admin-dashboard-health-list { display:flex; flex-direction:column; }
.admin-dashboard-health-list > div { display:flex; align-items:center; gap:12px; min-height:61px; padding:10px 17px; border-bottom:1px solid #eef2f7; }
.admin-dashboard-health-list > div:last-child { border-bottom:0; }
.admin-dashboard-health-list > div > span { width:36px; height:36px; flex:0 0 36px; display:flex; align-items:center; justify-content:center; border-radius:7px; }
.admin-dashboard-health-list span.is-draft { background:#f1f5f9; color:#475569; }
.admin-dashboard-health-list span.is-featured { background:#fef9c3; color:#a16207; }
.admin-dashboard-health-list span.is-review { background:#ffedd5; color:#c2410c; }
.admin-dashboard-health-list span.is-rating { background:#f3e8ff; color:#7e22ce; }
.admin-dashboard-health-list span.is-users { background:#ccfbf1; color:#0f766e; }
.admin-dashboard-health-list p { display:flex; flex-direction:column; }
.admin-dashboard-health-list strong { color:#0f172a; font-size:17px; line-height:1.1; }
.admin-dashboard-health-list small { margin-top:2px; color:#64748b; font-size:10px; }
.admin-dashboard-lists { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-dashboard-event-list,.admin-dashboard-suggestion-list { display:flex; flex-direction:column; }
.admin-dashboard-event-item,.admin-dashboard-suggestion-item { min-height:67px; display:flex; align-items:center; gap:11px; padding:10px 16px; border-bottom:1px solid #eef2f7; transition:background-color .15s; }
.admin-dashboard-event-item:last-child,.admin-dashboard-suggestion-item:last-child { border-bottom:0; }
.admin-dashboard-event-item:hover,.admin-dashboard-suggestion-item:hover { background:#f8fafc; }
.admin-dashboard-event-date { width:42px; height:44px; flex:0 0 42px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #dbeafe; border-radius:7px; background:#eff6ff; color:#1d4ed8; }
.admin-dashboard-event-date strong { font-size:16px; line-height:1; }
.admin-dashboard-event-date small { margin-top:3px; font-size:8px; font-weight:800; }
.admin-dashboard-event-info,.admin-dashboard-suggestion-info { min-width:0; flex:1; display:flex; flex-direction:column; }
.admin-dashboard-event-info strong,.admin-dashboard-suggestion-info strong { overflow:hidden; color:#0f172a; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }
.admin-dashboard-event-info small,.admin-dashboard-suggestion-info small { margin-top:3px; overflow:hidden; color:#64748b; font-size:9px; white-space:nowrap; text-overflow:ellipsis; }
.admin-dashboard-event-item > i,.admin-dashboard-suggestion-item > i { color:#cbd5e1; font-size:10px; }
.admin-dashboard-suggestion-icon { width:38px; height:38px; flex:0 0 38px; display:flex; align-items:center; justify-content:center; border-radius:7px; background:#fce7f3; color:#be185d; }
.admin-dashboard-suggestion-status { padding:4px 7px; border-radius:6px; font-size:8px; font-weight:800; white-space:nowrap; }
.admin-dashboard-suggestion-status.is-pending { background:#fef3c7; color:#92400e; }
.admin-dashboard-suggestion-status.is-analysis { background:#dbeafe; color:#1e40af; }
.admin-dashboard-suggestion-status.is-approved { background:#dcfce7; color:#166534; }
.admin-dashboard-suggestion-status.is-rejected { background:#fee2e2; color:#991b1b; }
.admin-dashboard-empty { min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#94a3b8; font-size:12px; }
.admin-dashboard-empty i { font-size:26px; }

@media (max-width: 1180px) {
    .admin-dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
    .admin-dashboard-grid,.admin-dashboard-lists { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
    .admin-dashboard-header { align-items:stretch; }
    .admin-dashboard-header h1 { font-size:31px; }
    .admin-dashboard-header-actions { width:100%; flex-direction:column; }
    .admin-dashboard-header-actions > a { width:100%; justify-content:center; }
    .admin-dashboard-metrics { grid-template-columns:1fr; }
    .admin-dashboard-metric { min-height:108px; }
    .admin-dashboard-panel-header { align-items:flex-start; }
    .admin-dashboard-panel-chip { display:none; }
    .admin-dashboard-event-item .admin-status { display:none; }
    .admin-dashboard-suggestion-status { display:none; }
}

/* System logs */
.admin-log-page { max-width:1440px; margin:0 auto; color:#0f172a; }
.admin-log-header { align-items:flex-end; }
.admin-log-eyebrow { display:inline-flex; align-items:center; gap:7px; margin-bottom:5px; color:#475569; font-size:11px; font-weight:800; text-transform:uppercase; }
.admin-log-integrity { min-width:230px; display:flex; align-items:center; gap:11px; padding:12px 14px; border:1px solid; border-radius:8px; background:rgba(255,255,255,.78); }
.admin-log-integrity > i { width:34px; height:34px; flex:0 0 34px; display:flex; align-items:center; justify-content:center; border-radius:7px; }
.admin-log-integrity span { display:flex; flex-direction:column; }
.admin-log-integrity strong { font-size:12px; }
.admin-log-integrity small { margin-top:2px; font-size:9px; color:#64748b; }
.admin-log-integrity.is-valid { border-color:#86efac; color:#166534; }
.admin-log-integrity.is-valid > i { background:#dcfce7; }
.admin-log-integrity.is-invalid { border-color:#fda4af; color:#be123c; }
.admin-log-integrity.is-invalid > i { background:#ffe4e6; }

.admin-log-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; margin-bottom:16px; border:1px solid #dbe3ee; border-radius:8px; background:rgba(255,255,255,.76); box-shadow:0 8px 26px rgba(15,23,42,.05); }
.admin-log-metric { min-height:92px; display:flex; align-items:center; gap:12px; padding:15px 18px; border-right:1px solid #e2e8f0; }
.admin-log-metric:last-child { border-right:0; }
.admin-log-metric > span { width:40px; height:40px; flex:0 0 40px; display:flex; align-items:center; justify-content:center; border-radius:7px; }
.admin-log-metric p { display:flex; flex-direction:column; min-width:0; }
.admin-log-metric small { color:#64748b; font-size:10px; font-weight:700; }
.admin-log-metric strong { margin-top:1px; font-size:24px; line-height:1.1; }
.admin-log-metric.is-volume > span { background:#dbeafe; color:#1d4ed8; }
.admin-log-metric.is-failure > span { background:#ffe4e6; color:#be123c; }
.admin-log-metric.is-warning > span { background:#fef3c7; color:#b45309; }
.admin-log-metric.is-actor > span { background:#ccfbf1; color:#0f766e; }

.admin-log-filters { display:grid; grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(100px,.8fr)) repeat(2,minmax(140px,1fr)) minmax(86px,.55fr) 92px; align-items:end; gap:10px; padding:14px; border:1px solid #dbe3ee; border-radius:8px; background:rgba(255,255,255,.7); box-shadow:0 8px 24px rgba(15,23,42,.04); }
.admin-log-filters label,.admin-log-search { min-width:0; display:flex; flex-direction:column; gap:5px; }
.admin-log-filters label > span,.admin-log-search > label { color:#475569; font-size:9px; font-weight:800; text-transform:uppercase; }
.admin-log-filters select,.admin-log-filters input { width:100%; height:42px; min-width:0; padding:0 10px; border:1px solid #cbd5e1; border-radius:7px; outline:0; background:#fff; color:#1e293b; font-size:11px; transition:border-color .15s,box-shadow .15s; }
.admin-log-filters select:focus,.admin-log-filters input:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.admin-log-search > div { position:relative; }
.admin-log-search i { position:absolute; top:50%; left:12px; z-index:1; color:#94a3b8; font-size:12px; transform:translateY(-50%); }
.admin-log-search input { padding-left:34px; }
.admin-log-filter-actions { display:flex; align-items:center; gap:7px; }
.admin-log-filter-actions button,.admin-log-filter-actions a { height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 13px; border:1px solid #1d4ed8; border-radius:7px; background:#2563eb; color:#fff; font-size:10px; font-weight:800; white-space:nowrap; }
.admin-log-filter-actions a { width:42px; flex:0 0 42px; padding:0; border-color:#cbd5e1; background:#fff; color:#475569; }
.admin-log-filter-actions a span { display:none; }

.admin-log-results-heading { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 4px 10px; }
.admin-log-results-heading h2 { font-size:16px; font-weight:850; }
.admin-log-results-heading p { margin-top:2px; color:#64748b; font-size:10px; }
.admin-log-results-heading > span { display:inline-flex; align-items:center; gap:6px; color:#64748b; font-size:10px; }
.admin-log-stream { overflow:hidden; border:1px solid #dbe3ee; border-radius:8px; background:rgba(255,255,255,.82); box-shadow:0 12px 32px rgba(15,23,42,.055); }
.admin-log-row { display:grid; grid-template-columns:124px 105px minmax(210px,1.55fr) minmax(165px,1fr) 130px 22px; align-items:center; gap:12px; }
.admin-log-table-head { min-height:42px; padding:0 15px; border-bottom:1px solid #dbe3ee; background:#f8fafc; color:#64748b; font-size:8px; font-weight:850; text-transform:uppercase; }
.admin-log-entry { min-height:72px; padding:11px 15px; border-bottom:1px solid #edf2f7; color:#334155; transition:background-color .14s; }
.admin-log-entry:last-child { border-bottom:0; }
.admin-log-entry:hover { background:#f8fafc; }
.admin-log-time,.admin-log-event,.admin-log-origin,.admin-log-trace { min-width:0; display:flex; flex-direction:column; }
.admin-log-time strong { font-size:11px; }
.admin-log-time small { margin-top:3px; color:#64748b; font-size:10px; font-variant-numeric:tabular-nums; }
.admin-log-level { width:max-content; max-width:100%; display:inline-flex; align-items:center; gap:6px; padding:5px 7px; border-radius:6px; font-size:8px; font-weight:850; text-transform:uppercase; white-space:nowrap; }
.admin-log-level i { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:currentColor; }
.admin-log-level.is-debug { background:#f1f5f9; color:#475569; }
.admin-log-level.is-info { background:#dcfce7; color:#166534; }
.admin-log-level.is-notice { background:#dbeafe; color:#1d4ed8; }
.admin-log-level.is-warning { background:#fef3c7; color:#92400e; }
.admin-log-level.is-error { background:#ffe4e6; color:#be123c; }
.admin-log-level.is-critical { background:#fae8ff; color:#86198f; }
.admin-log-event strong,.admin-log-origin strong { overflow:hidden; color:#0f172a; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }
.admin-log-event small,.admin-log-origin small { margin-top:4px; overflow:hidden; color:#64748b; font-size:9px; white-space:nowrap; text-overflow:ellipsis; }
.admin-log-trace code { overflow:hidden; color:#475569; font-size:9px; white-space:nowrap; text-overflow:ellipsis; }
.admin-log-trace small { margin-top:4px; color:#64748b; font-size:8px; font-weight:750; }
.admin-log-open { color:#94a3b8; font-size:9px; text-align:right; }
.admin-log-empty { min-height:240px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#94a3b8; text-align:center; }
.admin-log-empty i { margin-bottom:10px; font-size:28px; }
.admin-log-empty strong { color:#475569; font-size:13px; }
.admin-log-empty p { margin-top:3px; font-size:10px; }

.admin-log-detail-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.admin-log-back { display:inline-flex; align-items:center; gap:7px; margin-bottom:16px; color:#475569; font-size:12px; font-weight:750; }
.admin-log-detail-title { display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.admin-log-detail-title > span { color:#94a3b8; font-size:10px; font-weight:750; }
.admin-log-detail-header h1 { font-size:29px; line-height:1.2; font-weight:900; }
.admin-log-detail-header p { max-width:780px; margin-top:6px; color:#64748b; font-size:12px; }
.admin-log-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:14px; }
.admin-log-detail-main,.admin-log-detail-aside { min-width:0; display:flex; flex-direction:column; gap:14px; }
.admin-log-panel { overflow:hidden; border:1px solid #dbe3ee; border-radius:8px; background:rgba(255,255,255,.82); box-shadow:0 8px 24px rgba(15,23,42,.04); }
.admin-log-panel > header { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 15px; border-bottom:1px solid #e8edf4; background:rgba(248,250,252,.7); }
.admin-log-panel > header h2 { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:850; }
.admin-log-panel > header h2 i { color:#2563eb; }
.admin-log-panel > header > span { color:#64748b; font-size:12px; }
.admin-log-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-log-data-grid > div { min-width:0; padding:13px 15px; border-right:1px solid #edf2f7; border-bottom:1px solid #edf2f7; }
.admin-log-data-grid > div:nth-child(2n) { border-right:0; }
.admin-log-data-grid > div.is-wide { grid-column:1/-1; border-right:0; border-bottom:0; }
.admin-log-data-grid dt,.admin-log-compact-data dt,.admin-log-context-list dt,.admin-log-hashes dt { margin-bottom:4px; color:#64748b; font-size:8px; font-weight:800; text-transform:uppercase; }
.admin-log-data-grid dd,.admin-log-compact-data dd { overflow-wrap:anywhere; color:#1e293b; font-size:11px; }
.admin-log-data-grid code,.admin-log-compact-data code { font-size:10px; }
.admin-log-identifiers { display:flex; flex-direction:column; }
.admin-log-identifiers > div { min-height:52px; display:grid; grid-template-columns:105px minmax(0,1fr) 32px; align-items:center; gap:9px; padding:9px 14px; border-bottom:1px solid #edf2f7; }
.admin-log-identifiers > div:last-child { border-bottom:0; }
.admin-log-identifiers span { color:#64748b; font-size:9px; font-weight:750; }
.admin-log-identifiers code { min-width:0; overflow:hidden; color:#334155; font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
.admin-log-copy { width:30px; height:30px; display:flex; align-items:center; justify-content:center; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#475569; font-size:10px; }
.admin-log-context-list { display:flex; flex-direction:column; }
.admin-log-context-list > div { display:grid; grid-template-columns:minmax(130px,.35fr) minmax(0,1fr); gap:12px; padding:10px 15px; border-bottom:1px solid #edf2f7; }
.admin-log-context-list dt { margin:0; overflow-wrap:anywhere; }
.admin-log-context-list dd { min-width:0; overflow-wrap:anywhere; color:#334155; font-size:10px; }
.admin-log-context-list code { white-space:normal; }
.admin-log-panel-empty { padding:24px 15px; color:#94a3b8; font-size:10px; text-align:center; }
.admin-log-raw { border-top:1px solid #e8edf4; }
.admin-log-raw summary { padding:12px 15px; color:#475569; font-size:9px; font-weight:800; cursor:pointer; }
.admin-log-raw pre { max-height:420px; overflow:auto; margin:0; padding:15px; background:#0f172a; color:#dbeafe; font-size:10px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-log-timeline { padding:8px 15px 12px; }
.admin-log-timeline a { position:relative; min-height:50px; display:grid; grid-template-columns:12px 90px minmax(0,1fr) 44px; align-items:center; gap:8px; color:#334155; }
.admin-log-timeline a::before { position:absolute; top:0; bottom:0; left:5px; width:1px; background:#dbe3ee; content:""; }
.admin-log-timeline a:first-child::before { top:50%; }
.admin-log-timeline a:last-child::before { bottom:50%; }
.admin-log-timeline a > i { position:relative; z-index:1; width:11px; height:11px; border:3px solid #fff; border-radius:50%; background:#64748b; box-shadow:0 0 0 1px #cbd5e1; }
.admin-log-timeline a.is-info > i { background:#16a34a; }.admin-log-timeline a.is-notice > i { background:#2563eb; }.admin-log-timeline a.is-warning > i { background:#d97706; }.admin-log-timeline a.is-error > i { background:#e11d48; }.admin-log-timeline a.is-critical > i { background:#a21caf; }
.admin-log-timeline time { color:#64748b; font-size:9px; font-variant-numeric:tabular-nums; }
.admin-log-timeline span { min-width:0; display:flex; flex-direction:column; }
.admin-log-timeline strong,.admin-log-timeline small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.admin-log-timeline strong { font-size:10px; }.admin-log-timeline small { margin-top:2px; color:#64748b; font-size:8px; }
.admin-log-timeline b { color:#94a3b8; font-size:8px; text-align:right; }
.admin-log-compact-data { display:flex; flex-direction:column; }
.admin-log-compact-data > div { padding:10px 14px; border-bottom:1px solid #edf2f7; }
.admin-log-compact-data > div:last-child { border-bottom:0; }
.admin-log-hashes { padding:4px 14px 10px; }
.admin-log-hashes > div { padding:9px 0; border-bottom:1px solid #edf2f7; }
.admin-log-hashes > div:last-child { border-bottom:0; }
.admin-log-hashes code { display:block; overflow-wrap:anywhere; color:#475569; font-size:8px; line-height:1.5; }
.admin-log-user-agent { padding:14px; color:#475569; font-size:9px; line-height:1.6; overflow-wrap:anywhere; }

@media (max-width: 1280px) {
    .admin-log-filters { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .admin-log-search { grid-column:span 2; }
    .admin-log-row { grid-template-columns:112px 96px minmax(190px,1.45fr) minmax(150px,1fr) 110px 18px; gap:9px; }
}
@media (max-width: 1020px) {
    .admin-log-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-log-metric:nth-child(2) { border-right:0; }
    .admin-log-metric:nth-child(n+3) { border-top:1px solid #e2e8f0; }
    .admin-log-detail-layout { grid-template-columns:1fr; }
    .admin-log-detail-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-log-table-head { display:none; }
    .admin-log-entry { grid-template-columns:110px 105px minmax(0,1fr) 22px; }
    .admin-log-origin { grid-column:3; }.admin-log-trace { grid-column:3; }
    .admin-log-open { grid-column:4; grid-row:1/3; }
}
@media (max-width: 720px) {
    .admin-log-header,.admin-log-detail-header { align-items:stretch; flex-direction:column; }
    .admin-log-integrity { min-width:0; width:100%; }
    .admin-log-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-log-search { grid-column:1/-1; }
    .admin-log-filter-actions { grid-column:1/-1; }
    .admin-log-filter-actions button { flex:1; }
    .admin-log-filter-actions a { width:auto; flex:0 0 auto; padding:0 13px; }
    .admin-log-filter-actions a span { display:inline; }
    .admin-log-results-heading > span { display:none; }
    .admin-log-entry { grid-template-columns:96px minmax(0,1fr) 18px; gap:8px; }
    .admin-log-time { grid-column:1; grid-row:1; }.admin-log-entry > span:nth-child(2) { grid-column:2; grid-row:1; }
    .admin-log-event { grid-column:1/3; grid-row:2; }.admin-log-origin { grid-column:1/3; grid-row:3; }.admin-log-trace { grid-column:1/3; grid-row:4; }
    .admin-log-open { grid-column:3; grid-row:1/5; }
    .admin-log-event small,.admin-log-origin small { white-space:normal; }
    .admin-log-detail-header h1 { font-size:24px; }
    .admin-log-detail-aside { grid-template-columns:1fr; }
    .admin-log-data-grid { grid-template-columns:1fr; }
    .admin-log-data-grid > div { border-right:0; }.admin-log-data-grid > div.is-wide { grid-column:auto; }
    .admin-log-context-list > div { grid-template-columns:1fr; gap:4px; }
    .admin-log-timeline a { grid-template-columns:12px 66px minmax(0,1fr); }.admin-log-timeline b { display:none; }
}
@media (max-width: 480px) {
    .admin-log-metrics { grid-template-columns:1fr; }
    .admin-log-metric { min-height:78px; border-right:0; border-top:1px solid #e2e8f0; }
    .admin-log-metric:first-child { border-top:0; }
    .admin-log-filters { grid-template-columns:1fr; }
    .admin-log-search,.admin-log-filter-actions { grid-column:auto; }
    .admin-log-identifiers > div { grid-template-columns:1fr 30px; }.admin-log-identifiers span { grid-column:1/-1; }
}

/* Structured event schedule editor */
.admin-schedule-editor { width:100%; }
.admin-schedule-header { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.admin-schedule-header > div { min-width:0; display:flex; flex-direction:column; }
.admin-schedule-header label { color:#111827; font-size:14px; }
.admin-schedule-header p { margin-top:3px; color:#64748b; font-size:11px; }
.admin-schedule-add-day,.admin-schedule-add-item { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 13px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#334155; font-size:12px; font-weight:750; transition:border-color .15s,color .15s,background-color .15s; }
.admin-schedule-add-day:hover,.admin-schedule-add-item:hover { border-color:#2563eb; background:#eff6ff; color:#1d4ed8; }
.admin-schedule-add-day:disabled,.admin-schedule-add-item:disabled,.admin-schedule-icon-button:disabled { opacity:.4; cursor:not-allowed; }
.admin-schedule-days { display:flex; flex-direction:column; gap:14px; }
.admin-schedule-day { overflow:hidden; border:1px solid #dbe3ee; border-radius:8px; background:rgba(255,255,255,.64); }
.admin-schedule-day > header { min-height:76px; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:14px 15px; border-bottom:1px solid #e2e8f0; background:rgba(248,250,252,.82); }
.admin-schedule-day > header > div { min-width:0; flex:1; display:grid; grid-template-columns:minmax(150px,.45fr) minmax(180px,.55fr); align-items:end; gap:14px; }
.admin-schedule-day > header strong { align-self:center; overflow:hidden; color:#0f172a; font-size:15px; white-space:nowrap; text-overflow:ellipsis; }
.admin-schedule-field { min-width:0; display:flex; flex-direction:column; gap:5px; color:#475569; font-size:10px; font-weight:750; }
.admin-schedule-field > span { min-height:15px; }
.admin-schedule-field input { width:100%; height:42px; min-width:0; padding:0 11px; border:1px solid #cbd5e1; border-radius:7px; outline:0; background:#fff; color:#1e293b; font-size:12px; font-weight:500; transition:border-color .15s,box-shadow .15s; }
.admin-schedule-field input:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.admin-schedule-icon-button { width:42px; height:42px; flex:0 0 42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#475569; font-size:12px; transition:border-color .15s,color .15s,background-color .15s; }
.admin-schedule-icon-button:not(:disabled):hover { border-color:#94a3b8; background:#f8fafc; color:#0f172a; }
.admin-schedule-icon-button.is-danger:not(:disabled):hover { border-color:#fda4af; background:#fff1f2; color:#be123c; }
.admin-schedule-items { display:flex; flex-direction:column; }
.admin-schedule-item { display:grid; grid-template-columns:125px minmax(210px,1fr) minmax(210px,1fr) 42px; align-items:end; gap:11px; padding:13px 15px; border-bottom:1px solid #edf2f7; }
.admin-schedule-item:last-child { border-bottom:0; }
.admin-schedule-add-item { margin:2px 15px 14px; }

@media (max-width: 1100px) {
    .admin-schedule-item { grid-template-columns:115px minmax(180px,1fr) minmax(180px,1fr) 42px; }
}
@media (max-width: 850px) {
    .admin-schedule-day > header > div { grid-template-columns:1fr; gap:8px; }
    .admin-schedule-day > header strong { white-space:normal; }
    .admin-schedule-item { grid-template-columns:110px minmax(0,1fr) 42px; }
    .admin-schedule-item > label:nth-child(3) { grid-column:1/3; }
    .admin-schedule-item > button { grid-column:3; grid-row:1/3; }
}
@media (max-width: 560px) {
    .admin-schedule-header { align-items:stretch; flex-direction:column; }
    .admin-schedule-add-day { width:100%; }
    .admin-schedule-day > header { align-items:stretch; }
    .admin-schedule-day > header > div { grid-template-columns:minmax(0,1fr); }
    .admin-schedule-item { grid-template-columns:minmax(0,1fr) 42px; }
    .admin-schedule-item > label { grid-column:1; }
    .admin-schedule-item > label:nth-child(3) { grid-column:1; }
    .admin-schedule-item > button { grid-column:2; grid-row:1/4; }
    .admin-schedule-add-item { width:calc(100% - 30px); }
}

.admin-image-editor {
  display: grid;
  gap: 20px;
}

.admin-image-heading,
.admin-image-selection-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.admin-image-heading p,
.admin-image-selection-heading p {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
}

.admin-image-heading > strong {
  flex: 0 0 auto;
  color: #334155;
  font-size: 14px;
}

.admin-image-existing-section h4,
.admin-image-selection h4 {
  margin-bottom: 10px;
  color: #1f2937;
  font-weight: 700;
}

.admin-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}

.admin-image-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  transition: border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
}

.admin-image-card.is-cover {
  border-color: #db2777;
  box-shadow: 0 0 0 3px rgba(219, 39, 119, 0.12);
}

.admin-image-card.is-removed {
  opacity: 0.42;
  filter: grayscale(0.8);
}

.admin-image-card > img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #e2e8f0;
}

.admin-image-card figcaption {
  display: grid;
  gap: 8px;
  padding: 11px;
}

.admin-image-name {
  overflow: hidden;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-image-card figcaption small {
  color: #64748b;
  font-size: 11px;
}

.admin-image-cover-action,
.admin-image-remove-action,
.admin-image-selection-heading button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.is-cover .admin-image-cover-action {
  border-color: #db2777;
  background: #db2777;
  color: #fff;
}

.admin-image-remove-action {
  border: 0;
  color: #b91c1c;
}

.admin-image-remove-action input {
  width: 16px;
  height: 16px;
}

.admin-image-preview-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  color: #b91c1c;
  box-shadow: 0 3px 12px rgba(15, 23, 42, 0.2);
}

.admin-image-drop-zone {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 30px 20px;
  border: 2px dashed #cbd5e1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  text-align: center;
  transition: border-color 160ms ease, background 160ms ease;
}

.admin-image-drop-zone.is-dragging {
  border-color: #db2777;
  background: rgba(253, 242, 248, 0.92);
}

.admin-image-drop-zone.is-full {
  border-color: #f59e0b;
}

.admin-image-drop-zone > i {
  color: #db2777;
  font-size: 30px;
}

.admin-image-drop-zone > span,
.admin-image-drop-zone > small {
  color: #64748b;
  font-size: 12px;
}

.admin-image-drop-zone > label {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding: 0 18px;
  border-radius: 6px;
  background: #111827;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.admin-image-selection-heading button {
  padding: 0 14px;
  background: rgba(255, 255, 255, 0.75);
}

.admin-image-error {
  padding: 12px 14px;
  border-left: 4px solid #dc2626;
  background: #fef2f2;
  color: #991b1b;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 640px) {
  .admin-image-heading,
  .admin-image-selection-heading {
    align-items: stretch;
    flex-direction: column;
  }

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

@media (max-width: 420px) {
  .admin-image-grid {
    grid-template-columns: 1fr;
  }
}

/* Email communication studio */
.email-studio-page{max-width:1500px;margin:0 auto;color:#172033}.email-studio-header,.email-editor-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:6px 0 24px;border-bottom:1px solid rgba(148,163,184,.45)}.email-studio-header>div:first-child>span,.email-editor-header>div:first-child>span,.email-editor-band header small,.email-preview-tool header small,.email-quality-tool header small,.email-variable-tool header small,.email-test-tool header small,.email-version-history header small{display:block;color:#9d174d;font-size:11px;font-weight:800;text-transform:uppercase}.email-studio-header h1,.email-editor-header h1{margin:6px 0 5px;font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1.08}.email-studio-header h1 strong{color:#c51f5d}.email-studio-header p,.email-editor-header p{margin:0;color:#596579}.email-studio-health{display:flex;align-items:center;gap:12px;min-width:260px;padding:14px 16px;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4}.email-studio-health>i{color:#15803d;font-size:24px}.email-studio-health p{display:flex;flex-direction:column}.email-studio-health strong{font-size:14px;color:#14532d}.email-studio-health small{font-size:11px;color:#4b6353}.email-studio-flash{margin:18px 0 0;padding:13px 16px;border-left:4px solid #2563eb;background:#eff6ff;color:#1e3a8a;font-weight:600}.email-studio-flash.is-success{border-color:#16a34a;background:#f0fdf4;color:#14532d}.email-studio-flash.is-error{border-color:#dc2626;background:#fef2f2;color:#7f1d1d}.email-studio-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.email-studio-metrics>div{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #dbe2ea;border-radius:8px;background:rgba(255,255,255,.88)}.email-studio-metrics i{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:#c51f5d;border-radius:6px}.email-studio-metrics>div:nth-child(2) i{background:#16803c}.email-studio-metrics>div:nth-child(3) i{background:#2563eb}.email-studio-metrics>div:nth-child(4) i{background:#b45309}.email-studio-metrics p{display:flex;flex-direction:column}.email-studio-metrics small{color:#64748b;font-size:11px}.email-studio-metrics strong{font-size:22px}.email-studio-filters{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,260px) auto auto;gap:12px;align-items:end;padding:18px 0;border-top:1px solid #fff;border-bottom:1px solid rgba(148,163,184,.4)}.email-studio-filters label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:700}.email-studio-filters input,.email-studio-filters select,.email-template-editor-page input,.email-template-editor-page textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;outline:none}.email-studio-filters input,.email-studio-filters select{height:44px;padding:0 12px}.email-studio-search div{position:relative}.email-studio-search div i{position:absolute;left:13px;top:15px;color:#64748b}.email-studio-search div input{padding-left:38px}.email-studio-filters>button,.email-studio-filters>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:6px;background:#172033;color:#fff;font-weight:700}.email-studio-filters>a{width:44px;padding:0;background:#fff;color:#475569;border:1px solid #cbd5e1}.email-template-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:26px 0 14px}.email-template-section-heading h2{font-size:20px;font-weight:800}.email-template-section-heading p,.email-template-section-heading>span{color:#64748b;font-size:12px}.email-template-section-heading>span i{color:#15803d}.email-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.email-template-item{display:flex;min-height:260px;flex-direction:column;padding:18px;border:1px solid #d8e0e9;border-radius:8px;background:#fff;color:inherit;transition:transform .18s,border-color .18s,box-shadow .18s}.email-template-item:hover{transform:translateY(-2px);border-color:#db2777;box-shadow:0 12px 24px rgba(15,23,42,.08)}.email-template-item header{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px}.email-template-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:7px;background:#fdf2f8;color:#be185d}.email-template-item header small{color:#9d174d;font-size:10px;font-weight:800;text-transform:uppercase}.email-template-item h3{font-size:16px;font-weight:800}.email-template-item header>i{color:#94a3b8}.email-template-item>p{flex:1;margin:18px 0 12px;color:#596579;font-size:13px;line-height:1.55}.email-template-item>code{align-self:flex-start;padding:5px 7px;border-radius:4px;background:#f1f5f9;color:#475569;font-size:10px}.email-template-item footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb}.email-template-item footer span{display:flex;flex-direction:column;color:#64748b;font-size:10px}.email-template-item footer b{color:#172033;font-size:13px}.email-template-empty{grid-column:1/-1;padding:60px;text-align:center;color:#64748b}.email-template-empty i{display:block;margin-bottom:10px;font-size:30px}.email-template-empty strong{display:block;color:#334155}.email-editor-header>div:first-child>a{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;color:#9d174d;font-size:13px;font-weight:700}.email-editor-header>div:first-child>span code{padding:3px 5px;background:#e2e8f0;border-radius:4px;color:#475569;text-transform:none}.email-version-state{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.email-version-state span{padding:8px 10px;border:1px solid #d1fae5;border-radius:6px;background:#f0fdf4;color:#166534;font-size:11px;font-weight:700}.email-version-state span+span{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.email-editor-commandbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:10px 12px;border:1px solid #d9e0e8;border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 6px 16px rgba(15,23,42,.07);backdrop-filter:blur(10px)}.email-editor-commandbar>div{display:flex;gap:8px}.email-editor-commandbar span{color:#64748b;font-size:12px;font-weight:700}.email-editor-commandbar span i{margin-right:6px;color:#f59e0b}.email-editor-commandbar button,.email-test-tool button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:6px;font-weight:800}.email-editor-commandbar .is-secondary{border:1px solid #cbd5e1;background:#fff;color:#334155}.email-editor-commandbar .is-primary,.email-test-tool button{background:#c51f5d;color:#fff}.email-editor-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:18px;align-items:start}.email-editor-fields{display:flex;flex-direction:column;gap:16px}.email-editor-band{padding:20px 0;border-top:1px solid #cbd5e1}.email-editor-band>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.email-editor-band>header h2,.email-preview-tool h2,.email-quality-tool h2,.email-variable-tool h2,.email-test-tool h2,.email-version-history h2{font-size:18px;font-weight:800}.email-editor-band>header>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#172033;color:#fff;font-size:12px;font-weight:800}.email-editor-band>label,.email-test-tool label{position:relative;display:block;margin-top:14px}.email-editor-band label>span,.email-test-tool label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.email-editor-band input,.email-test-tool input{height:44px;padding:0 12px}.email-editor-band textarea{padding:12px;line-height:1.55;resize:vertical}.email-editor-band label>small{display:block;margin-top:5px;color:#64748b;font-size:11px}.email-editor-band label>small b{color:#172033}.email-editor-toolbar{display:flex;gap:5px;margin-bottom:7px}.email-editor-toolbar button,.email-device-switch button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#475569}.email-editor-toolbar button:hover{border-color:#c51f5d;color:#c51f5d}.email-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.email-sample-grid label{margin:0}.email-sample-grid label span{display:flex;align-items:center;justify-content:space-between;gap:10px}.email-sample-grid code{color:#9d174d;font-size:9px}.email-editor-preview-column{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px}.email-preview-tool,.email-quality-tool,.email-variable-tool,.email-test-tool{border:1px solid #d8e0e9;border-radius:8px;background:#fff;overflow:hidden}.email-preview-tool>header,.email-quality-tool>header,.email-variable-tool>header,.email-test-tool>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.email-device-switch{display:flex;gap:4px}.email-device-switch button.is-active{border-color:#172033;background:#172033;color:#fff}.email-inbox-snapshot{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.email-inbox-snapshot>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#c51f5d;color:#fff;font-size:11px;font-weight:800}.email-inbox-snapshot p{display:flex;min-width:0;flex-direction:column}.email-inbox-snapshot strong,.email-inbox-snapshot small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-inbox-snapshot strong{font-size:12px}.email-inbox-snapshot small,.email-inbox-snapshot time{color:#64748b;font-size:10px}.email-preview-stage{display:flex;justify-content:center;min-height:570px;padding:12px;background:#dfe5ec;overflow:auto}.email-preview-stage iframe{width:100%;height:550px;border:0;background:#fff;transition:width .2s}.email-quality-tool>header>strong{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e2e8f0;color:#334155;font-size:17px}.email-quality-tool>header>strong.is-good{background:#dcfce7;color:#166534}.email-quality-tool>header>strong.is-warning{background:#fef3c7;color:#92400e}.email-quality-tool>header>strong.is-danger{background:#fee2e2;color:#991b1b}.email-quality-tool>div{display:flex;flex-direction:column;gap:8px;padding:14px 16px}.email-quality-tool p{display:flex;gap:9px;color:#475569;font-size:12px;line-height:1.4}.email-quality-tool p.is-error i{color:#dc2626}.email-quality-tool p.is-warning i{color:#d97706}.email-quality-tool p.is-good i{color:#16a34a}.email-variable-tool>header,.email-test-tool>header{display:block}.email-variable-tool>p{padding:12px 16px 0;color:#64748b;font-size:11px}.email-variable-tool>div{display:flex;max-height:210px;flex-direction:column;gap:5px;overflow:auto;padding:12px 16px 16px}.email-variable-tool button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc;text-align:left}.email-variable-tool button:hover{border-color:#c51f5d}.email-variable-tool code{color:#9d174d;font-size:10px}.email-variable-tool button span{color:#64748b;font-size:9px;text-transform:uppercase}.email-test-tool{padding-bottom:16px}.email-test-tool label,.email-test-tool>button{margin-right:16px;margin-left:16px}.email-test-tool button{width:calc(100% - 32px);margin-top:10px}.email-version-history{margin-top:30px;padding-top:22px;border-top:1px solid #94a3b8}.email-version-history>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.email-version-history>header p{max-width:560px;color:#64748b;font-size:12px;text-align:right}.email-version-list{border-top:1px solid #d8e0e9}.email-version-list>div{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #d8e0e9}.email-version-list>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#475569}.email-version-list>div>span.is-published{background:#dcfce7;color:#166534}.email-version-list>div>span.is-draft{background:#dbeafe;color:#1d4ed8}.email-version-list p{display:grid;grid-template-columns:120px 200px 1fr;align-items:center;gap:12px}.email-version-list p strong{font-size:13px}.email-version-list p small,.email-version-list p em{color:#64748b;font-size:11px;font-style:normal}.email-version-list button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#334155;font-size:11px;font-weight:700}.email-version-list>div>b{padding:6px 8px;border-radius:4px;background:#dbeafe;color:#1d4ed8;font-size:10px}
@media(max-width:1180px){.email-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.email-editor-workspace{grid-template-columns:1fr}.email-editor-preview-column{position:static;display:grid;grid-template-columns:1fr 1fr}.email-preview-tool{grid-row:span 3}.email-preview-stage{min-height:480px}.email-preview-stage iframe{height:460px}}
@media(max-width:760px){.email-studio-header,.email-editor-header,.email-template-section-heading,.email-version-history>header{align-items:flex-start;flex-direction:column}.email-studio-health{width:100%}.email-studio-metrics{grid-template-columns:repeat(2,1fr)}.email-studio-filters{grid-template-columns:1fr}.email-template-grid{grid-template-columns:1fr}.email-template-section-heading>span,.email-version-history>header p{text-align:left}.email-editor-commandbar{position:static;align-items:stretch;flex-direction:column}.email-editor-commandbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.email-editor-preview-column{display:flex}.email-sample-grid{grid-template-columns:1fr}.email-version-list p{display:flex;align-items:flex-start;flex-direction:column;gap:2px}.email-version-list button span{display:none}}
@media(max-width:440px){.email-studio-metrics{grid-template-columns:1fr}.email-editor-commandbar>div:last-child{grid-template-columns:1fr}.email-template-item footer{grid-template-columns:1fr 1fr}.email-editor-band{padding-right:0;padding-left:0}}

/* Accessibility, mobile shell and cross-browser resilience */
.admin-mobile-menu-button {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 90;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: rgba(255,255,255,.96);
    color: #172033;
    box-shadow: 0 8px 24px rgba(15,23,42,.14);
}
.admin-sidebar-backdrop { position:fixed; inset:0; z-index:79; background:rgba(15,23,42,.55); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.admin-sidebar-close { position:absolute; top:10px; right:10px; width:44px; height:44px; align-items:center; justify-content:center; border-radius:7px; color:#475569; background:#f8fafc; }
.admin-management-table-wrap { max-width:100%; overscroll-behavior-inline:contain; scrollbar-gutter:stable; }
.admin-management-table-wrap:focus-visible { outline:3px solid #c51f5d; outline-offset:2px; }
.admin-management-table th { font-size:12px; }
.admin-management-table td { font-size:14px; }
.admin-table-actions a,.admin-table-actions button { min-width:44px; min-height:44px; }
.admin-event-actions a,.admin-event-actions button { min-height:44px; }
.admin-log-page small,.admin-log-page time,.admin-log-page code { font-size:12px; }
.admin-log-page .admin-log-event strong,.admin-log-page .admin-log-origin strong { font-size:14px; }
.admin-log-page .admin-log-data-grid dd,.admin-log-page .admin-log-compact-data dd,.admin-log-page .admin-log-context-list dd { font-size:14px; }
.admin-log-page .admin-log-data-grid dt,.admin-log-page .admin-log-compact-data dt,.admin-log-page .admin-log-context-list dt { font-size:12px; }

@supports not (backdrop-filter: blur(2px)) {
    .glass-effect,.admin-management-card,.organizer-dashboard-card { background:#fff; }
}

@media (max-width:767px) {
    body.admin-menu-open { overflow:hidden; }
    .admin-mobile-menu-button { display:inline-flex; }
    .admin-sidebar {
        position:fixed;
        inset:0 auto 0 0;
        z-index:80;
        width:min(88vw,320px);
        min-width:0;
        height:100vh;
        height:100dvh;
        padding-top:64px;
        background:#fff;
        transform:translateX(-105%);
        transition:transform 180ms ease;
        box-shadow:16px 0 40px rgba(15,23,42,.22);
    }
    .admin-sidebar.is-mobile-open { display:block; transform:translateX(0); }
    .admin-sidebar-close { display:inline-flex; }
    .admin-management-page,.admin-log-page,.email-studio-page,.email-template-editor-page { width:100%; min-width:0; }
    .admin-management-header h1 { font-size:clamp(1.75rem,9vw,2.15rem); overflow-wrap:anywhere; }
    .admin-management-table { min-width:760px; }
    .admin-dashboard-metrics { grid-template-columns:1fr; }
    .admin-log-filters { grid-template-columns:1fr; }
    .admin-log-row { min-width:0; }
}

@media (max-width:420px) {
    .admin-management-table { min-width:680px; }
    .admin-management-card-title { padding:15px; }
    .admin-pagination-pages { max-width:100%; overflow-x:auto; padding:3px; }
}

/* Email communication coverage and contact shortcuts */
.email-contact-guide{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:20px 0;padding:20px;border:1px solid #cbd5e1;border-left:4px solid #c51f5d;border-radius:8px;background:#fff}
.email-contact-guide h2,.email-external-communications h2{margin:0 0 8px;font-size:19px;font-weight:800;color:#172033}
.email-contact-guide p{max-width:760px;margin:6px 0 0;color:#596579;font-size:13px;line-height:1.6}
.email-contact-guide nav{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.email-contact-guide a{display:block;padding:11px 14px;border:1px solid #c51f5d;border-radius:6px;color:#9d174d;font-size:13px;font-weight:700;text-align:center}
.email-contact-guide a:hover{background:#fdf2f8}.email-contact-guide a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.email-template-usages{margin:0 0 14px;padding-left:18px;color:#475569;font-size:12px;line-height:1.6;list-style:disc}.email-template-usages li+li{margin-top:5px}
.email-audit-note{margin:0 0 14px;color:#64748b;font-size:12px;line-height:1.6}
.email-template-context{margin:20px 0;padding:16px 20px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc;font-size:13px;line-height:1.6}.email-template-context ul{margin:8px 0;padding-left:20px;list-style:disc}.email-template-context p{color:#596579}
.email-external-communications{margin-top:28px;padding:22px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.email-external-communications>p{font-size:13px;color:#596579}.email-external-communications dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.email-external-communications dt{margin-bottom:6px;font-size:13px;font-weight:700}.email-external-communications dd{margin:0;color:#596579;font-size:13px;line-height:1.6}
@media(max-width:760px){.email-contact-guide{align-items:stretch;flex-direction:column;gap:16px}.email-external-communications dl{grid-template-columns:1fr}.email-contact-guide nav{flex-shrink:1}}

/* Origin is separate from category and conversation status. */
.contact-origin-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.contact-origin-tabs>a{display:grid;grid-template-columns:1fr auto;gap:8px;padding:17px;border:1px solid #d6dde7;border-radius:9px;background:#fff;color:#475569}.contact-origin-tabs strong{font-size:14px}.contact-origin-tabs span{font-size:14px;font-weight:800}.contact-origin-tabs small{grid-column:1/-1;font-size:11px;color:#64748b}.contact-origin-tabs>a.is-active{border-color:#c51f5d;background:#fff4f8;color:#9d174d;box-shadow:inset 0 3px #c51f5d}.contact-origin-tabs a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.contact-origin-badge{display:inline-block;margin:6px 0;padding:4px 8px;border-radius:5px;font-size:10px;font-weight:750;background:#fce7f3;color:#9d174d}.contact-origin-badge.is-organizer_portal{background:#e0edff;color:#1e40af}.contact-origin-badge.is-event_page{background:#fff0d5;color:#92400e}@media(max-width:1000px){.contact-origin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.contact-origin-tabs{grid-template-columns:1fr}}
