/* mapping.css - Mapping page specific styles */

/* Table Footer */
.table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e0e5f0;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 15px;
}

.pagination-btn {
    padding: 8px 16px;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    background: white;
    cursor: pointer;
    font-weight: 600;
    color: var(--secondary-color);
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 5px;
}

.pagination-btn:hover:not(:disabled) {
    background-color: #f8f9fa;
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.page-info {
    font-weight: 600;
    color: var(--secondary-color);
}

.table-stats {
    color: #6c757d;
    font-size: 14px;
}

/* Status Badges */
.status-badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
}

.status-badge.active {
    background-color: rgba(76, 201, 240, 0.15);
    color: var(--success-color);
    border: 1px solid rgba(76, 201, 240, 0.3);
}

.status-badge.inactive {
    background-color: rgba(108, 117, 125, 0.15);
    color: #6c757d;
    border: 1px solid rgba(108, 117, 125, 0.3);
}

.status-badge.pending {
    background-color: rgba(255, 158, 0, 0.15);
    color: var(--warning-color);
    border: 1px solid rgba(255, 158, 0, 0.3);
}

/* Payload Display */
.payload-cell {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    position: relative;
}

.payload-cell:hover {
    white-space: normal;
    overflow: visible;
    position: relative;
    z-index: 10;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 10px;
    border-radius: var(--border-radius);
    max-width: 400px;
    min-width: 200px;
}

.payload-cell:hover::after {
    content: 'Click to copy';
    position: absolute;
    top: -20px;
    left: 0;
    background: var(--primary-color);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
}

/* Provider Badges */
.provider-badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    border: 1px solid transparent;
}

.provider-badge.buffpin {
    background-color: rgba(255, 107, 53, 0.15);
    color: #FF6B35;
    border-color: rgba(255, 107, 53, 0.3);
}

.provider-badge.playsentral {
    background-color: rgba(78, 205, 196, 0.15);
    color: #4ECDC4;
    border-color: rgba(78, 205, 196, 0.3);
}

.provider-badge.yalla {
    background-color: rgba(67, 97, 238, 0.15);
    color: var(--primary-color);
    border-color: rgba(67, 97, 238, 0.3);
}

.provider-badge.steam {
    background-color: rgba(25, 25, 35, 0.15);
    color: #191923;
    border-color: rgba(25, 25, 35, 0.3);
}

.provider-badge.epic {
    background-color: rgba(41, 171, 226, 0.15);
    color: #29ABE2;
    border-color: rgba(41, 171, 226, 0.3);
}

.provider-badge.amazon {
    background-color: rgba(255, 153, 0, 0.15);
    color: #FF9900;
    border-color: rgba(255, 153, 0, 0.3);
}

.provider-badge.google {
    background-color: rgba(66, 133, 244, 0.15);
    color: #4285F4;
    border-color: rgba(66, 133, 244, 0.3);
}

.provider-badge.apple {
    background-color: rgba(128, 128, 128, 0.15);
    color: #808080;
    border-color: rgba(128, 128, 128, 0.3);
}

.provider-badge.other {
    background-color: rgba(114, 9, 183, 0.15);
    color: var(--info-color);
    border-color: rgba(114, 9, 183, 0.3);
}

/* Form Help Text */
.form-help {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #6c757d;
    font-style: italic;
}

/* Mapping Table Actions */
.mapping-actions {
    display: flex;
    gap: 5px;
}

.mapping-actions .action-btn {
    font-size: 12px;
    padding: 4px 8px;
}

/* Responsive Design for Mapping */
@media (max-width: 992px) {
    .table-footer {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .pagination {
        flex-wrap: wrap;
    }
    
    .mapping-actions {
        flex-direction: column;
    }
}