.fm-site-cards {
    margin-top: 15px;
}
.fm-site-card {
    margin-bottom: 20px;
}
.fm-internal-error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    padding: 12px;
    margin-top: 15px;
    color: #721c24;
}
.fm-site-title {
    font-weight: 500;
}
.fm-site-heading {
    margin-top: 15px;
    margin-bottom: 15px;                
}
.fm-subscription-warning {
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    padding: 12px;
    margin-top: 15px;
}
.fm-subscription-warning p {
    margin: 0;
    color: #856404;
}

/* Site Assignment Progress Bar */
.fm-site-progress-wrap {
    margin-top: 15px;
    margin-bottom: 10px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 12px;
}

.fm-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
}

.fm-progress-step {
    color: #495057;
}

.fm-progress-label {
    color: #2271b1;
    font-weight: 600;
}

.fm-progress-track {
    background-color: #e9ecef;
    border-radius: 4px;
    height: 12px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.fm-progress-bar {
    background-color: #2271b1;
    height: 100%;
    width: 0%;
    border-radius: 4px;
    transition: width 0.4s ease;
    background-image: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.15) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255, 255, 255, 0.15) 50%,
        rgba(255, 255, 255, 0.15) 75%,
        transparent 75%,
        transparent
    );
    background-size: 1rem 1rem;
    animation: fm-progress-stripes 1s linear infinite;
}

@keyframes fm-progress-stripes {
    from {
        background-position: 1rem 0;
    }
    to {
        background-position: 0 0;
    }
}

/* Error State */
.fm-site-progress-wrap.is-error {
    background: #fff5f5;
    border-color: #feb2b2;
}

.fm-site-progress-wrap.is-error .fm-progress-label {
    color: #c53030;
}

.fm-site-progress-wrap.is-error .fm-progress-bar {
    background-color: #c53030;
    animation: none;
    background-image: none;
}

.fm-progress-error-msg {
    color: #c53030;
    font-size: 13px;
    margin-top: 8px;
    display: flex;
    align-items: flex-start;
    gap: 6px;
}
