.outreach-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}


.outreach-grid,
.composer-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);
    gap: 20px;
    margin-bottom: 20px;
}


.composer-grid {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.outreach-card {
    border:
        1px solid
        rgba(
            148,
            163,
            184,
            0.16
        );

    border-radius:
        20px;

    background:
        rgba(
            8,
            18,
            33,
            0.82
        );

    padding:
        22px;

    box-shadow:
        0
        18px
        48px
        rgba(
            0,
            0,
            0,
            0.18
        );
}


.card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}


.card-heading h2 {
    margin:
        4px
        0
        0;
}


.card-heading p {
    margin-bottom:
        0;
}


.outreach-field {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}


.outreach-field > span {
    color:
        #cbd5e1;

    font-size:
        0.9rem;

    font-weight:
        700;
}


.outreach-field input,
.outreach-field select,
.outreach-field textarea {
    width: 100%;

    border:
        1px solid
        rgba(
            148,
            163,
            184,
            0.20
        );

    border-radius:
        12px;

    background:
        rgba(
            2,
            8,
            23,
            0.80
        );

    color:
        #f8fafc;

    padding:
        12px
        14px;

    font:
        inherit;

    outline:
        none;

    transition:
        border-color
        0.18s
        ease,
        box-shadow
        0.18s
        ease,
        background
        0.18s
        ease;
}


.outreach-field textarea {
    resize:
        vertical;

    min-height:
        150px;

    line-height:
        1.5;
}


.outreach-field input:hover,
.outreach-field select:hover,
.outreach-field textarea:hover {
    border-color:
        rgba(
            148,
            163,
            184,
            0.34
        );
}


.outreach-field input:focus,
.outreach-field select:focus,
.outreach-field textarea:focus {
    border-color:
        rgba(
            56,
            189,
            248,
            0.72
        );

    box-shadow:
        0
        0
        0
        3px
        rgba(
            56,
            189,
            248,
            0.08
        );

    background:
        rgba(
            2,
            8,
            23,
            0.94
        );
}


.outreach-field input::placeholder,
.outreach-field textarea::placeholder {
    color:
        #64748b;
}


.full-width {
    width:
        100%;
}


.or-divider {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    color:
        #64748b;

    font-size:
        0.8rem;

    text-transform:
        uppercase;

    letter-spacing:
        0.08em;

    margin:
        8px
        0
        16px;
}


.or-divider::before,
.or-divider::after {
    content:
        "";

    height:
        1px;

    flex:
        1;

    background:
        rgba(
            148,
            163,
            184,
            0.14
        );
}


.recipient-list {
    display:
        grid;

    gap:
        10px;

    max-height:
        390px;

    overflow-y:
        auto;

    padding-right:
        4px;
}


.recipient-list::-webkit-scrollbar {
    width:
        8px;
}


.recipient-list::-webkit-scrollbar-track {
    background:
        rgba(
            15,
            23,
            42,
            0.25
        );

    border-radius:
        999px;
}


.recipient-list::-webkit-scrollbar-thumb {
    background:
        rgba(
            100,
            116,
            139,
            0.42
        );

    border-radius:
        999px;
}


.recipient-row,
.batch-row {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    padding:
        13px
        14px;

    border:
        1px solid
        rgba(
            148,
            163,
            184,
            0.12
        );

    border-radius:
        12px;

    background:
        rgba(
            15,
            23,
            42,
            0.48
        );

    transition:
        border-color
        0.18s
        ease,
        background
        0.18s
        ease,
        transform
        0.18s
        ease;
}


.recipient-row:hover,
.batch-row:hover {
    border-color:
        rgba(
            148,
            163,
            184,
            0.24
        );

    background:
        rgba(
            15,
            23,
            42,
            0.72
        );

    transform:
        translateY(
            -1px
        );
}


.recipient-row strong,
.recipient-row span,
.batch-row strong,
.batch-row span {
    display:
        block;
}


.recipient-row strong,
.batch-row strong {
    color:
        #f8fafc;
}


.recipient-row span,
.batch-row span {
    color:
        #94a3b8;

    font-size:
        0.82rem;

    margin-top:
        4px;
}


.recipient-contact {
    display:
        flex;

    gap:
        8px;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;
}


.recipient-contact span {
    margin:
        0;

    padding:
        5px
        8px;

    border-radius:
        999px;

    font-size:
        0.74rem;

    font-weight:
        700;
}


.recipient-contact .ready {
    color:
        #86efac;

    background:
        rgba(
            34,
            197,
            94,
            0.10
        );

    border:
        1px solid
        rgba(
            34,
            197,
            94,
            0.16
        );
}


.recipient-contact .missing {
    color:
        #94a3b8;

    background:
        rgba(
            100,
            116,
            139,
            0.10
        );

    border:
        1px solid
        rgba(
            100,
            116,
            139,
            0.12
        );
}


.recipient-empty {
    color:
        #94a3b8;

    padding:
        20px;

    text-align:
        center;

    border:
        1px dashed
        rgba(
            148,
            163,
            184,
            0.18
        );

    border-radius:
        12px;

    background:
        rgba(
            15,
            23,
            42,
            0.22
        );
}


.merge-fields {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        8px;

    color:
        #94a3b8;

    font-size:
        0.8rem;

    margin:
        -4px
        0
        18px;
}


.merge-fields > span {
    font-weight:
        600;
}


.merge-fields code {
    padding:
        4px
        7px;

    border-radius:
        7px;

    color:
        #7dd3fc;

    background:
        rgba(
            14,
            165,
            233,
            0.08
        );

    border:
        1px solid
        rgba(
            14,
            165,
            233,
            0.12
        );

    font-size:
        0.76rem;
}


.character-count {
    color:
        #94a3b8;

    font-size:
        0.8rem;

    white-space:
        nowrap;
}


.outreach-message {
    margin-top:
        14px;

    padding:
        12px
        14px;

    border-radius:
        12px;

    color:
        #bbf7d0;

    background:
        rgba(
            34,
            197,
            94,
            0.08
        );

    border:
        1px solid
        rgba(
            34,
            197,
            94,
            0.18
        );

    line-height:
        1.45;
}


.outreach-message.error {
    color:
        #fecaca;

    background:
        rgba(
            239,
            68,
            68,
            0.08
        );

    border-color:
        rgba(
            239,
            68,
            68,
            0.20
        );
}


.provider-off {
    color:
        #fbbf24
        !important;
}


.history-card {
    margin-bottom:
        32px;
}


.batch-list {
    display:
        grid;

    gap:
        10px;
}


.batch-meta {
    min-width:
        90px;

    text-align:
        right;
}


.batch-meta strong {
    font-size:
        1.1rem;

    color:
        #f8fafc;
}


.batch-meta span {
    text-transform:
        capitalize;
}


.composer-card .button {
    margin-top:
        4px;
}


@media (
    max-width:
        1100px
) {

    .outreach-metrics {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }


    .outreach-grid,
    .composer-grid {
        grid-template-columns:
            1fr;
    }
}


@media (
    max-width:
        700px
) {

    .outreach-metrics {
        grid-template-columns:
            1fr;
    }


    .outreach-card {
        padding:
            16px;

        border-radius:
            16px;
    }


    .card-heading {
        flex-direction:
            column;

        align-items:
            stretch;
    }


    .recipient-row,
    .batch-row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .recipient-contact {
        justify-content:
            flex-start;
    }


    .batch-meta {
        text-align:
            left;

        min-width:
            0;
    }


    .character-count {
        white-space:
            normal;
    }
}