.status-badge {
    font-size: var(--font-size-xs);
}

.target-url-text {
    max-width: 200px;
}

.messaging-table td[data-label="Campaign"] > div:not(.small),
.select-apps-list td[data-label="App"] > div {
    font-weight: var(--font-weight-normal);
}

#scheduling-input.scheduling-input {
    background-color: var(--color-white);
    cursor: pointer;
    border-radius: var(--radius-md) 0 0 var(--radius-md) !important;
    border-color: var(--color-gray-225) !important;
    border-right: 0 !important;
}

#scheduling-input.scheduling-input:focus {
    border-color: var(--color-gray-900) !important;
    box-shadow: none !important;
}

#scheduling-input.scheduling-input:focus + .scheduling-icon-wrapper {
    border-color: var(--color-gray-900) !important;
}

.scheduling-icon-wrapper {
    background-color: var(--color-white) !important;
    border: 1px solid var(--color-gray-225) !important;
    border-left: 0 !important;
    border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
    padding: 0 var(--spacing-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: var(--transition-base);
}

#scheduling-input.scheduling-input.is-invalid {
    border-color: var(--color-danger) !important;
}

#scheduling-input.scheduling-input.is-invalid + .scheduling-icon-wrapper {
    border-color: var(--color-danger) !important;
}

.scheduling-popover {
    display: none;
    z-index: 1050;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: var(--spacing-xs);
    overflow: hidden;
}

.popover-sidebar {
    width: 160px;
    background-color: var(--color-gray-50);
}

.time-selection-sidebar {
    width: 140px;
    max-height: 382px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.time-header {
    padding: var(--spacing-sm) 0;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-gray-150);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 10;
}

.time-options-list {
    padding: var(--spacing-base);
    flex-grow: 1;
}

.select-apps-list {
    height: 410px;
    overflow-y: auto;
}

.select-apps-list thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background-color: var(--color-white) !important;
}

.select-apps-list .table-cell-store img {
    margin-bottom: 0 !important;
}

.app-store-icon {
    width: 18px;
    margin-bottom: 3px;
}

.google-play-icon {
    width: 14px;
}

.target-audience-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: default;
    max-width: 100%;
}

.target-audience-name {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.target-audience-badge {
    flex-shrink: 0;
    background-color: var(--color-success-subtle);
    color: var(--color-success);
    font-size: 11px;
    font-weight: 500;
    padding: 1px 6px;
    border-radius: var(--radius-xs);
    white-space: nowrap;
}

.custom-target-popover {
    --bs-popover-bg: var(--color-white);
    --bs-popover-header-bg: transparent;
    --bs-popover-border-color: var(--color-gray-200);
    --bs-popover-border-radius: var(--radius-md);
    --bs-popover-inner-border-radius: var(--radius-md);
    --bs-popover-body-padding: 0;
    --bs-popover-arrow-width: 12px;
    --bs-popover-arrow-height: 6px;
    --bs-popover-box-shadow: var(--shadow-base);

    background-color: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-base);
    font-family: var(--font-family-base);
    z-index: 9999;

    max-width: none;
    min-width: 180px;

    transition: opacity 0.2s ease-out !important;
}

.custom-target-popover.fade:not(.show) {
    opacity: 0 !important;
}

.custom-target-popover.show {
    opacity: 1 !important;
}

.custom-target-popover .popover-body {
    padding: var(--spacing-sm);
    color: var(--color-text);
}

.custom-target-popover .popover-arrow {
    position: absolute;
    left: 22px !important;
    transform: none !important;
    pointer-events: none !important;
}

.custom-target-popover .popover-arrow::before,
.custom-target-popover .popover-arrow::after {
    border-width: 6px;
    border-style: solid;
    content: "";
    display: block;
    width: 0;
    height: 0;
}

.custom-target-popover[data-popper-placement^="top"] > .popover-arrow {
    bottom: -6px;
}

.custom-target-popover[data-popper-placement^="top"] > .popover-arrow::before {
    border-color: var(--color-gray-200) transparent transparent;
    top: 0;
}
.custom-target-popover[data-popper-placement^="top"] > .popover-arrow::after {
    border-color: var(--color-white) transparent transparent;
    top: -1px;
}

.custom-target-popover[data-popper-placement^="bottom"] > .popover-arrow {
    top: -6px;
}

.custom-target-popover[data-popper-placement^="bottom"]
    > .popover-arrow::before {
    border-color: transparent transparent var(--color-gray-200);
    bottom: 0;
}

.custom-target-popover[data-popper-placement^="bottom"]
    > .popover-arrow::after {
    border-color: transparent transparent var(--color-white);
    bottom: -1px;
}

.custom-target-popover .popover-header {
    font-size: 10px;
    font-weight: 700;
    color: var(--color-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--color-gray-100);
    padding: 0 0 var(--spacing-xs) 0;
    margin: 0 0 var(--spacing-base) 0;
    background: transparent;
    border-top: 0;
    border-radius: 0;
}

.popover-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 200px;
    overflow-y: auto;
}

.popover-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-base);
    font-size: 13px;
    color: var(--color-text);
    padding: var(--spacing-xs) 0;
    white-space: nowrap;
}

.popover-item::before {
    content: "";
    width: 6px;
    height: 6px;
    background-color: var(--color-success);
    border-radius: 50%;
}

@media (max-width: 768px) {
    .messaging-table td[data-label="Campaign"] > div:not(.small),
    .select-apps-list td[data-label="App"] > div {
        font-weight: var(--font-weight-semibold);
    }

    .messaging-table td[data-label="Campaign"] {
        grid-column: span 2;
        font-size: var(--font-size-sm);
        color: var(--color-text-dark);
        padding-right: 80px;
    }

    .messaging-table td[data-label="Campaign"] .mobile-label {
        display: none;
    }

    .messaging-table td[data-label="Target Audience"],
    .messaging-table td[data-label="Target URLs"] {
        grid-column: span 2;
    }

    .messaging-table .target-url-text {
        max-width: 100% !important;
    }

    .messaging-table td[data-label="Status"] .status-badge {
        width: fit-content !important;
    }

    .select-apps-list {
        border: none !important;
    }

    .select-apps-list .custom-table {
        background: transparent !important;
    }

    .select-apps-list .custom-table td[data-label="Select"] {
        position: absolute !important;
        top: 18px !important;
        left: var(--spacing-md) !important;
        width: auto !important;
        z-index: 10;
        padding: 0 !important;
    }

    .select-apps-list .custom-table td[data-label="Select"] .mobile-label,
    .select-apps-list .custom-table td[data-label="App"] .mobile-label {
        display: none !important;
    }

    .select-apps-list .custom-table td[data-label="App"] {
        padding-left: 36px !important;
        margin-bottom: 12px;
        font-size: var(--font-size-sm);
        width: 100% !important;
        max-width: none !important;
        grid-column: span 2 !important;
        white-space: normal !important;
    }

    .select-apps-list .custom-table td[data-label="App"] > div {
        font-weight: var(--font-weight-semibold) !important;
    }

    .scheduling-popover {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        max-width: 90vw;
        border-radius: var(--radius-md);
    }

    .scheduling-popover > .d-flex {
        width: max-content;
        min-width: 100%;
    }

    .target-audience-wrapper.show .target-audience-popover {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }
}
