/* 页脚样式优化 */
.footer-ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

.footer-col {
    text-align: left;
}

.social-icon {
    margin-right: 1rem;
}

.content-auto {
    content-visibility: auto;
}

.clip-path-polygon {
    clip-path: polygon(
        0% 0%, 
        95% 0%, 
        100% 5%, 
        100% 100%, 
        5% 100%, 
        0% 95%
    );
}

.border-l-indicator {
    position: relative;
}

.border-l-indicator::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: currentColor;
}

.grid-dashboard {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
}

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

.animate-slide-up {
    animation: slideUp 0.5s ease-in-out;
}

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

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

.chart-container {
    position: relative;
    height: 300px;
    width: 100%;
    min-height: 300px;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 4px;
    padding: 10px;
}

.mini-chart {
    height: 40px;
    width: 100px;
    min-height: 40px;
    min-width: 100px;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 4px;
    padding: 5px;
}

.bg-grid {
    background-image: 
        linear-gradient(rgba(226, 232, 240, 0.3) 1px, transparent 1px),
        linear-gradient(90deg, rgba(226, 232, 240, 0.3) 1px, transparent 1px);
    background-size: 20px 20px;
}

.bg-dots {
    background-image: radial-gradient(rgba(100, 116, 139, 0.1) 1px, transparent 1px);
    background-size: 15px 15px;
}

.bg-lines {
    background-image: linear-gradient(to right, rgba(100, 116, 139, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
}