.hidden { display: none; }
.chart-container { position: relative; height: 300px; width: 100%; }

/* Shimmer Effect for All MUSEN PLUS text in Admin */
.logo-shimmer {
    display: inline-block;
    background: linear-gradient(
        to right, 
        #ff0000 0%, 
        #ff0000 40%, 
        var(--c1, #ff7f00) 45%, 
        var(--c2, #ffff00) 50%, 
        var(--c1, #ff7f00) 55%, 
        #ff0000 60%, 
        #ff0000 100%
    );
    background-size: 400% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: logoShine 4s ease-in-out infinite alternate;
    white-space: nowrap;
}

@keyframes logoShine {
    0% { background-position: 0% center; }
    100% { background-position: 100% center; }
}

/* Festive Stage in Nav */
#festive-stage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.festive-particle {
    position: absolute;
    top: -20px;
    animation: festiveFall linear forwards;
    opacity: 0.6;
    user-select: none;
}

@keyframes festiveFall {
    0% { transform: translateY(-20px) rotate(0deg); opacity: 0; }
    20% { opacity: 0.8; }
    100% { transform: translateY(100px) rotate(180deg); opacity: 0; }
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.tab-btn.active { border-bottom: 2px solid #0071bc; color: #0071bc; }
input[type="date"]::-webkit-calendar-picker-indicator { filter: none; cursor: pointer; }
.led-online { background-color: #22c55e; box-shadow: 0 0 8px rgba(34, 197, 94, 0.6); border: 2px solid #fff; }
.led-offline { background-color: #94a3b8; border: 2px solid #fff; }

/* Language Selector Style */
.lang-select-ui { 
    appearance: none; 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    background-size: 1rem;
    padding-right: 2rem !important;
}
.lang-select-ui:hover {
    border-color: #0071bc;
    color: #0071bc;
}
.lang-select-ui option {
    background: #fff;
    color: #1e293b;
}

/* Brand Text Animation */
.text-gradient-animate {
    background-size: 200% auto;
    animation: shine 5s linear infinite;
}
@keyframes shine {
    to { background-position: 200% center; }
}