body {
    padding-top: 20px;
    background-color: #f8f9fa;
}
div{
    justify-content: space-between;
}
.login-container {
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.main-container {
    display: none;
}
.register-container {
    display: none;
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
/* .group-header {
    cursor: pointer;
    padding: 10px 15px;
    background-color: #f1f1f1;
    border-radius: 4px;
    margin-bottom: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
} */
.group-content {
    display: none;
    margin-bottom: 15px;
}
.stock-item {
    padding: 8px 15px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
}
.stock-item:hover {
    background-color: #f1f1f1;
}
.up {
    color: #f44336;
}
.down {
    color: #4CAF50;
}
.neutral {
    color: #333;
}
.error-message {
    color: #f44336;
    font-weight: bold;
}
.last-update {
    font-size: 12px;
    color: #666;
    text-align: center;
    margin: 15px 0;
}
.search-results {
    max-height: 300px;
    overflow-y: auto;
    display: none;
}
.add-button {
    cursor: pointer;
    color: #007bff;
}
.settings-container {
    display: none;
    margin-bottom: 20px;
    padding: 15px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

        :root {
            --chart-height: 600px;
            --modal-header-height: 56px;
            --spacing-sm: 5px;
            --spacing-md: 15px;
            --spacing-lg: 20px;
            --border-radius: 4px;
            --shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        /* 布局相关 */
        .chart-wrapper {
            height: var(--chart-height);
            width: 100%;
        }

        .chart-container {
            padding: var(--spacing-lg);
            background-color: #fff;
            border-radius: var(--border-radius);
            box-shadow: var(--shadow);
            margin-top: var(--spacing-lg);
        }

        .control-panel {
            margin-bottom: var(--spacing-lg);
        }

        /* 股票按钮区域 */
        .stock-buttons {
            background-color: #f8f9fa;
            padding: var(--spacing-md);
            border-radius: var(--border-radius);
            margin-bottom: var(--spacing-lg);
        }

        .stock-btn {
            margin: var(--spacing-sm);
            transition: all 0.2s ease;
        }

        .stock-btn:hover {
            background-color: #e9ecef;
            transform: translateY(-1px);
        }

        /* 弹窗样式 */
        .modal-dialog {
            max-width: 80%;
            margin: 1.75rem auto;
        }

        .modal-content {
            height: 80vh;
        }

        .modal-chart-container {
            width: 100%;
            height: calc(100% - var(--modal-header-height));
        }

        /* 响应式调整 */
        @media (max-width: 768px) {
            .modal-dialog {
                max-width: 95%;
                margin: 1rem auto;
            }

            .chart-wrapper {
                height: 400px;
            }
        }