        .pred-header {
            margin-bottom: 20px;
        }
        .pred-pair {
            font-family: var(--apple-font);
            font-size: 20px;
            font-weight: 700;
            letter-spacing: -0.02em;
            color: var(--apple-label);
            margin-bottom: 8px;
        }
        .pred-meta {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }
        .pred-confidence {
            font-family: var(--apple-mono);
            font-size: 12px;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 8px;
            border: 1px solid;
            background: var(--apple-bg-tertiary);
        }
        .pred-data-info {
            font-size: 12px;
            color: var(--apple-label-tertiary);
        }
        .pred-card {
            padding: 16px 18px;
            border-radius: 14px;
            border: 0.5px solid var(--apple-separator);
            background: var(--apple-bg-secondary);
            margin-bottom: 12px;
        }
        .pred-card-title {
            font-family: var(--apple-font);
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
            color: var(--apple-label-secondary);
            margin-bottom: 12px;
        }
        .pred-trend-row {
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }
        .pred-trend-icon {
            font-size: 22px;
            line-height: 1;
        }
        .pred-trend-text {
            font-family: var(--apple-font);
            font-size: 15px;
            line-height: 1.5;
            color: var(--apple-label);
        }
        .pred-timing-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-bottom: 10px;
        }
        .pred-timing-item {
            display: flex;
            flex-direction: column;
            gap: 3px;
            padding: 10px 12px;
            background: var(--apple-bg-tertiary);
            border-radius: 10px;
        }
        .pred-timing-label {
            font-family: var(--apple-font);
            font-size: 11px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: var(--apple-label-tertiary);
        }
        .pred-timing-value {
            font-family: var(--apple-mono);
            font-size: 15px;
            font-weight: 600;
            color: var(--apple-label);
        }
        .pred-timing-note {
            font-family: var(--apple-font);
            font-size: 13px;
            color: var(--apple-label-secondary);
            line-height: 1.5;
        }

        /* Chart containers */
        .pred-chart-wrap {
            border-radius: 10px;
            overflow: hidden;
            background: var(--apple-bg-tertiary);
            padding: 4px;
        }
        .pred-chart-wrap canvas {
            display: block;
        }
        .pred-chart-legend {
            margin-top: 8px;
            font-family: var(--apple-font);
            font-size: 11px;
            color: var(--apple-label-tertiary);
            text-align: center;
        }
        .pred-vol-note {
            margin-top: 10px;
            font-family: var(--apple-font);
            font-size: 12px;
            color: var(--apple-label-tertiary);
        }

        /* Side-by-side historical vs forecast */
        .pred-compare-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }
        .pred-compare-label {
            font-family: var(--apple-font);
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            margin-bottom: 6px;
        }
        .pred-hist-label {
            color: var(--apple-label-tertiary);
        }
        .pred-fore-label {
            color: var(--apple-blue);
            opacity: 0.8;
        }

        .pred-disclaimer {
            margin-top: 20px;
            padding: 14px 16px;
            border-radius: 12px;
            background: var(--apple-bg-secondary);
            border: 0.5px solid var(--apple-separator);
            font-family: var(--apple-font);
            font-size: 12px;
            line-height: 1.6;
            color: var(--apple-label-tertiary);
        }

        @media (max-width: 520px) {
            .pred-card {
                padding: 14px;
                border-radius: 12px;
            }
            .pred-timing-grid {
                grid-template-columns: 1fr;
                gap: 8px;
            }
            .pred-pair {
                font-size: 18px;
            }
            .pred-compare-grid {
                grid-template-columns: 1fr;
            }
        }
