<style>
    /* === Shared DealFlow component styles === */

    /* Sub-navigation */
    .dealflow-subnav {
        align-items: center;
        background: var(--layer-01);
        border-bottom: 1px solid var(--border-subtle-01);
        display: flex;
        gap: 0;
        height: 36px;
        margin: -20px -20px 20px;
        padding: 0 16px;
    }

    .dealflow-subnav__link {
        align-items: center;
        color: var(--text-secondary);
        display: inline-flex;
        font-size: 13px;
        font-weight: 600;
        height: 36px;
        padding: 0 12px;
        text-decoration: none;
        transition: color .15s ease;
    }

    .dealflow-subnav__link:hover,
    .dealflow-subnav__link:focus {
        color: var(--text-primary);
        text-decoration: none;
    }

    .dealflow-subnav__link.is-active {
        border-bottom: 2px solid var(--button-primary);
        color: var(--text-primary);
    }

    .dealflow-subnav__dropdown {
        margin-left: auto;
        position: relative;
    }

    .dealflow-subnav__gear {
        background: none;
        border: 0;
        cursor: pointer;
    }

    /* Card */
    .dealflow-card {
        background: var(--layer-02);
        border: 1px solid var(--border-subtle-01);
        border-radius: 12px;
        box-shadow: none;
        overflow: hidden;
    }

    .dealflow-card + .dealflow-card {
        margin-top: 20px;
    }

    .dealflow-card__header {
        align-items: center;
        background: var(--layer-01);
        border-bottom: 1px solid var(--border-subtle-01);
        display: flex;
        justify-content: space-between;
        padding: 14px 18px;
    }

    .dealflow-card__title {
        color: var(--text-primary);
        font-size: 15px;
        font-weight: 600;
        margin: 0;
    }

    .dealflow-card__body {
        padding: 18px;
    }

    /* Pill & Chip */
    .dealflow-pill {
        border: 1px solid var(--border-subtle-02);
        border-radius: 999px;
        color: var(--text-primary);
        display: inline-flex;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: .02em;
        padding: 6px 10px;
        text-transform: uppercase;
    }

    .dealflow-pill--open {
        background: var(--label-background-blue);
        border-color: var(--label-border-blue);
        color: var(--label-color-blue);
    }

    .dealflow-pill--won {
        background: var(--label-background-green);
        border-color: var(--label-border-green);
        color: var(--label-color-green);
    }

    .dealflow-pill--lost {
        background: var(--label-background-red);
        border-color: var(--label-border-red);
        color: var(--label-color-red);
    }

    .dealflow-chip {
        background: var(--layer-accent-01);
        border: 1px solid var(--border-subtle-01);
        border-radius: 999px;
        color: var(--text-secondary);
        display: inline-flex;
        font-size: 12px;
        font-weight: 600;
        padding: 6px 10px;
    }

    /* Meta */
    .dealflow-meta {
        display: grid;
        gap: 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dealflow-meta__item {
        border-bottom: 1px solid var(--border-subtle-01);
        min-height: 56px;
        padding-bottom: 12px;
    }

    .dealflow-meta__item:nth-last-child(-n+2) {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .dealflow-meta__label {
        color: var(--text-secondary);
        display: block;
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 6px;
        text-transform: uppercase;
    }

    .dealflow-meta__value {
        color: var(--text-primary);
        font-size: 14px;
        line-height: 1.5;
        word-break: break-word;
    }

    /* List */
    .dealflow-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .dealflow-list__item {
        align-items: flex-start;
        background: var(--background);
        border: 1px solid var(--border-subtle-01);
        border-radius: 12px;
        display: flex;
        gap: 14px;
        justify-content: space-between;
        padding: 14px 16px;
    }

    .dealflow-list__body {
        min-width: 0;
    }

    .dealflow-list__title {
        color: var(--text-primary);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
        margin: 0 0 4px;
    }

    .dealflow-list__meta,
    .dealflow-list__hint {
        color: var(--text-secondary);
        font-size: 13px;
        line-height: 1.5;
        margin: 0;
    }

    .dealflow-list__actions {
        align-items: center;
        display: flex;
        flex-shrink: 0;
        gap: 8px;
    }

    /* Timeline */
    .dealflow-timeline {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .dealflow-timeline__item {
        border-left: 2px solid var(--border-interactive);
        padding-left: 14px;
        position: relative;
    }

    .dealflow-timeline__item::before {
        background: var(--button-primary);
        border: 2px solid var(--layer-02);
        border-radius: 50%;
        content: "";
        height: 10px;
        left: -6px;
        position: absolute;
        top: 4px;
        width: 10px;
    }

    .dealflow-timeline__title {
        color: var(--text-primary);
        font-size: 14px;
        font-weight: 600;
        margin: 0 0 2px;
    }

    .dealflow-timeline__stamp {
        color: var(--text-secondary);
        font-size: 12px;
        margin-bottom: 6px;
    }

    .dealflow-timeline__body {
        color: var(--text-secondary);
        font-size: 13px;
        line-height: 1.6;
        white-space: pre-line;
    }

    /* Form */
    .dealflow-form .form-control,
    .dealflow-form textarea,
    .dealflow-form select {
        background: var(--field-01);
        border-color: var(--border-subtle-02);
        color: var(--text-primary);
    }

    .dealflow-form .help-block,
    .dealflow-empty {
        color: var(--text-secondary);
    }

    /* Kicker */
    .dealflow-kicker {
        color: var(--text-secondary);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .08em;
        margin-bottom: 8px;
        text-transform: uppercase;
    }

    /* Admin table */
    .dealflow-admin-table {
        width: 100%;
    }

    .dealflow-admin-table th {
        color: var(--text-secondary);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .dealflow-admin-pill {
        background: var(--label-background-gray);
        border-radius: 999px;
        color: var(--label-color-gray);
        display: inline-flex;
        font-size: 11px;
        font-weight: 600;
        padding: 4px 8px;
    }

    .dealflow-admin-actions {
        display: flex;
        gap: 6px;
    }

    /* ── Responsive ── */
    @media (max-width: 767px) {
        /* Meta grid: 2-column → single column */
        .dealflow-meta {
            grid-template-columns: 1fr;
        }

        /* Remove border-bottom exception for last-2 items; single column means only last item gets no border */
        .dealflow-meta__item:nth-last-child(-n+2) {
            border-bottom: 1px solid var(--border-subtle-01);
            padding-bottom: 12px;
        }

        .dealflow-meta__item:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

        /* Admin table: horizontal scroll wrapper */
        .dealflow-admin-table {
            display: block;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        /* List items: vertical stack */
        .dealflow-list__item {
            flex-direction: column;
            gap: 8px;
        }

        .dealflow-list__actions {
            align-self: flex-start;
        }

        /* Card padding: tighter on mobile */
        .dealflow-card__header {
            padding: 12px 14px;
        }

        .dealflow-card__body {
            padding: 14px;
        }

        /* Subnav: allow wrapping on very narrow screens */
        .dealflow-subnav {
            height: auto;
            flex-wrap: wrap;
            padding: 0 8px;
        }
    }
</style>
