    /* Scoped or General Styles for this page */
    .pzjd-container { max-width: 1400px; margin: 0 auto; background: #fff; padding: 30px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); border-radius: 10px; }
    h2 { text-align: center; color: #1a202c; margin-bottom: 20px; font-weight: 600; }
    
    /* Filter Styles */
    .filter-container { margin-bottom: 20px; text-align: center; }
    .filter-btn {
        background-color: #fff;
        border: 1px solid #e2e8f0;
        color: #4a5568;
        padding: 8px 16px;
        margin: 0 5px 10px 5px;
        border-radius: 20px;
        cursor: pointer;
        font-size: 0.9em;
        transition: all 0.2s;
    }
    .filter-btn:hover { background-color: #f7fafc; border-color: #cbd5e0; }
    .filter-btn.active { background-color: #3182ce; color: #fff; border-color: #3182ce; }
    
    /* Colors for price changes */
    .up { color: #eb4436; }   /* Red for up */
    .down { color: #0f9d58; } /* Green for down */
    .stable { color: #999; }
    
    table.pzjd-table { border-collapse: separate; border-spacing: 0; width: 100%; margin-top: 10px; border: 1px solid #e2e8f0; border-radius: 8px; }
    .pzjd-table th, .pzjd-table td { text-align: left; padding: 16px; border-bottom: 1px solid #e2e8f0; }
    .pzjd-table th { background-color: #f7fafc; color: #4a5568; font-weight: 600; text-transform: uppercase; font-size: 0.85em; letter-spacing: 0.05em; position: sticky; top: 0; z-index: 10; }
    .pzjd-table tr:last-child td { border-bottom: none; }
    .pzjd-table tr:hover { background-color: #f8fafc; transition: background-color 0.2s; }
    
    .col-id { display: none; }
    .col-source { display: none; }
    .col-code-name { width: 90px; min-width: 70px; line-height: 1.2; white-space: nowrap; }
    .col-code-display { font-weight: bold; color: #2b6cb0; font-size: 1.05em; } 
    .col-name-display { color: #4a5568; font-size: 0.85em; margin-top: 2px; }
    .col-price { width: 70px; font-weight: bold; }
    .col-number { width: 55px; text-align: right; }
    .col-shares { display: none; }
    .col-industry { white-space: nowrap; }
    
    /* Watchlist Star */
    .col-star { width: 28px; text-align: center; padding: 8px 4px !important; cursor: pointer; user-select: none; }
    .star-btn { font-size: 1.1em; color: #cbd5e0; transition: all 0.15s; line-height: 1; }
    .star-btn:hover { color: #ecc94b; transform: scale(1.2); }
    .star-btn.active { color: #ecc94b; }
    .filter-btn.watchlist-btn.active { background-color: #3182ce; color: #fff; border-color: #3182ce; }
    
    /* Reduced font size for the table */
    .pzjd-table th, .pzjd-table td { padding: 10px 8px; font-size: 0.85rem; }
    
    /* Timeline Styles */
    .timeline-container { display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; white-space: nowrap; min-width: 500px; }
    .timeline-item { display: flex; flex-direction: column; align-items: center; position: relative; min-width: 60px; }
    .timeline-group-vertical { display: flex; flex-direction: column; gap: 6px; border-left: 2px dashed #e2e8f0; padding-left: 8px; }
    .timeline-row { display: flex; align-items: center; gap: 8px; }
    .timeline-spacer { min-width: 100px; height: 1px; } 
    
    .step-badge {
        font-size: 0.8em;
        padding: 2px 8px;
        border-radius: 12px;
        background-color: #edf2f7;
        color: #4a5568;
        border: 1px solid #e2e8f0;
        white-space: nowrap;
        margin-bottom: 2px;
        position: relative;
        z-index: 1;
    }
    
    .step-badge.completed { background-color: #e6fffa; color: #2c7a7b; border-color: #b2f5ea; }
    .step-badge.pending { background-color: #fff; color: #a0aec0; border-color: #cbd5e0; border-style: dashed; }
    .step-badge.suspended { background-color: #fef3c7; color: #92400e; border-color: #fcd34d; }
    .step-badge.terminated { background-color: #fee2e2; color: #991b1b; border-color: #fca5a5; }
    
    .step-date { font-size: 0.7em; color: #718096; font-family: Consolas, monospace; }
    .arrow-wrapper { position: relative; display: flex; align-items: center; }
    .arrow { color: #cbd5e0; font-size: 1em; } 
    .trading-days {
        position: absolute;
        top: -14px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 0.7em;
        color: #718096;
        background: #f1f5f9;
        padding: 0 4px;
        border-radius: 4px;
        line-height: 1;
        font-weight: bold;
    }
    .hidden-row { display: none; }

    /* Timeline Tool Collapsible */
    .timeline-tool-toggle {
        display: inline-flex; align-items: center; gap: 6px;
        margin-top: 8px; padding: 5px 14px;
        background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
        border: 1px solid #fb923c; border-radius: 6px;
        cursor: pointer; font-size: 0.88em; color: #9a3412;
        transition: all 0.2s;
    }
    .timeline-tool-toggle:hover { background: #ffedd5; box-shadow: 0 2px 6px rgba(251,146,60,0.2); }
    .timeline-tool-toggle .toggle-arrow { display: inline-block; transition: transform 0.25s; }
    .timeline-tool-toggle .toggle-arrow.open { transform: rotate(90deg); }
    .timeline-tool-body { display: none; overflow: hidden; }
    .timeline-tool-body.open { display: block; }

    /* Concepts Tooltip */
    .concepts-tooltip {
        position: absolute;
        display: none;
        background: #2d3748;
        color: #fff;
        padding: 8px 12px;
        border-radius: 6px;
        font-size: 0.85em;
        line-height: 1.4;
        z-index: 9999;
        max-width: 350px;
        box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
        pointer-events: none;
        word-wrap: break-word;
        border: 1px solid #4a5568;
    }
    
    /* Recommendation Index Styles */
    .col-score { width: 45px; text-align: center; }
    .col-mjsms { width: 80px; text-align: center; font-size: 0.82em; white-space: nowrap; }
    .col-updtdt { width: 80px; text-align: center; font-size: 0.82em; white-space: nowrap; color: #718096; }
    .mjsms-date { font-weight: 600; color: #2b6cb0; cursor: default; }
    .mjsms-type { font-size: 0.75em; padding: 1px 5px; border-radius: 8px; display: inline-block; margin-top: 2px; }
    .mjsms-type-申报稿 { background: #ebf8ff; color: #2b6cb0; }
    .mjsms-type-注册稿 { background: #fefcbf; color: #975a16; }
    .mjsms-type-修订稿 { background: #f0fff4; color: #276749; }
    .mjsms-type-上会稿 { background: #faf5ff; color: #6b21a8; }
    .score-container { cursor: pointer; }
    .score-value { font-weight: bold; font-size: 0.95em; }
    .score-high { color: #059669; }
    .score-medium { color: #2563eb; }
    .score-low { color: #d97706; }
    .score-poor { color: #9ca3af; }
