/* --- PREMIUM DESIGN SYSTEM --- */
    body { background-color: #f8fafc; color: var(--dark-blue); font-family: 'Inter', sans-serif; }
    .oswald { font-family: 'Oswald', sans-serif; text-transform: uppercase; font-weight: 700; }

    /* Live Banner Premium */
    .live-banner-premium {
        display: flex; align-items: center; justify-content: space-between;
        background: linear-gradient(135deg, var(--dark-blue) 0%, #2d3748 100%);
        color: #fff; text-decoration: none; padding: 20px 30px; border-radius: 24px;
        margin-bottom: 30px; border-left: 6px solid var(--aloha-red);
        box-shadow: 0 10px 25px rgba(30, 41, 59, 0.15); transition: 0.3s;
    }
    .live-banner-premium:hover { transform: translateY(-3px); color: #fff; }
    .live-pulse {
        height: 12px; width: 12px; background: var(--aloha-red); border-radius: 50%;
        display: inline-block; position: relative; margin-right: 15px;
    }
    .live-pulse::after {
        content: ''; position: absolute; top: -6px; left: -6px; right: -6px; bottom: -6px;
        border-radius: 50%; border: 2px solid var(--aloha-red); opacity: 0;
        animation: pulse-red 2s infinite;
    }
    @keyframes pulse-red { 0% { transform: scale(0.5); opacity: 0.8; } 70% { transform: scale(2); opacity: 0; } 100% { opacity: 0; } }

    /* Hero Card */
    .event-hero-card {
        background: #fff; padding: 30px; border-radius: 24px; margin-bottom: 30px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.05); border: 1px solid rgba(0,0,0,0.02);
    }

    /* Filter Bar Modern */
    .filter-grid-premium {
        display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 15px; margin-bottom: 30px; background: #fff; padding: 20px;
        border-radius: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    }
    .form-control-premium {
        width: 100%; padding: 12px 15px; border-radius: 12px;
        border: 2px solid #f1f5f9; background: #f8fafc; font-weight: 600;
        transition: all 0.3s; color: var(--dark-blue);
    }
    .form-control-premium:focus { border-color: var(--aloha-red); outline: none; background: #fff; }

    /* Event Grid (Overview) */
    .event-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 25px; }
    .event-card-premium {
        background: #fff; border-radius: 24px; padding: 25px;
        box-shadow: 0 10px 20px rgba(0,0,0,0.05); border: 1px solid transparent;
        transition: 0.3s; text-decoration: none; color: inherit;
    }
    .event-card-premium:hover { transform: translateY(-5px); border-color: var(--aloha-red); }
    .event-card-premium h3 { font-family: 'Oswald', sans-serif; font-size: 1.4rem; margin-bottom: 10px; }

    /* Modal Styling */
    .modal-premium {
        display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%;
        background: rgba(15, 23, 42, 0.8); backdrop-filter: blur(8px);
    }
    .modal-content-premium {
        background: #fff; margin: 3% auto; width: 95%; max-width: 700px;
        border-radius: 30px; overflow: hidden; position: relative;
        animation: modalFadeUp 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    }
    @keyframes modalFadeUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
    .modal-header-premium { background: var(--dark-blue); color: #fff; padding: 30px; position: relative; }
    .modal-body-premium { padding: 30px; max-height: 75vh; overflow-y: auto; }

    .info-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 25px; }
    .info-card { background: var(--slate-50); padding: 15px; border-radius: 15px; border: 1px solid #f1f5f9; }
    .info-card label { font-size: 0.65rem; text-transform: uppercase; color: var(--slate-400); font-weight: 800; display: block; margin-bottom: 4px; }
    .info-card span { font-weight: 700; font-size: 0.95rem; color: var(--dark-blue); }

    .split-row-premium {
        display: flex; justify-content: space-between; align-items: center;
        padding: 12px 15px; background: #fff; border-radius: 12px;
        margin-bottom: 8px; border: 1px solid #f1f5f9;
    }
    .split-row-premium span { font-weight: 600; color: var(--slate-400); font-size: 0.85rem; }
    .split-row-premium strong { font-family: 'Oswald', sans-serif; color: var(--aloha-red); font-size: 1rem; }

    .close-btn { position: absolute; top: 20px; right: 25px; font-size: 2rem; color: rgba(255,255,255,0.5); cursor: pointer; }
    .close-btn:hover { color: #fff; }

    /* Results Table Styles */
    #results_container { background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
