@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

.animate-fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

.brand-gradient {
    background: linear-gradient(
        90deg,
        #4f46e5,
        #7c3aed,
        #ec4899,
        #f97316,
        #14b8a6,
        #4f46e5
    );
    background-size: 300% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientShift 8s ease infinite;
    color: #000;
}

.brand-gradient:hover {
    filter: brightness(1.15) saturate(1.1);
}

.nova-gradient {
    background: linear-gradient(
        135deg,
        #4f46e5,
        #7c3aed,
        #ec4899,
        #f97316,
        #14b8a6
    );
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
}

.nova-gradient:hover {
    filter: brightness(1.1);
}

@media (prefers-reduced-motion: reduce) {
    .brand-gradient {
        animation: none;
        background-position: 0% 50%;
    }
    .nova-gradient {
        animation: none;
        background-position: 0% 50%;
    }
}

.sidebar-item {
    transition: all 0.2s ease;
}

.sidebar-item:hover {
    background-color: #f3f4f6;
}

.sidebar-item.active {
    background-color: #f3f4f6;
    font-weight: 600;
}

.btn-primary {
    background-color: #000;
    color: white;
    transition: all 0.2s ease;
}

.btn-primary:hover:not(:disabled) {
    background-color: #333;
}

.btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

details summary {
    list-style: none;
}

details summary::-webkit-details-marker {
    display: none;
}
