/* ==========================================================================
   Source Management & Home Views
   ========================================================================== */

/* ===== Home: Source Cards ===== */
.learning-home-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-lg);
}

.learning-home-header h2 {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-primary);
}

.learning-sources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-md);
}

.learning-source-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-card);
    position: relative;
}

.learning-source-card:hover {
    border-color: var(--accent-blue);
    transform: translateY(-2px);
    box-shadow: var(--shadow-card-hover);
}

.learning-source-card-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-xs);
}

.learning-source-card-meta {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-bottom: var(--space-sm);
}

.learning-source-card-progress {
    margin-top: var(--space-sm);
}

/* ===== Status Badge ===== */
.learning-source-status {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: var(--radius-full);
}

.learning-source-status--ready {
    color: var(--accent-green);
    background: var(--accent-green-bg);
}

.learning-source-status--syncing {
    color: var(--accent-blue);
    background: var(--accent-blue-bg);
}

.learning-source-status--update {
    color: var(--accent-amber);
    background: rgba(245, 158, 11, 0.1);
}

.learning-source-status--error {
    color: var(--accent-red);
    background: var(--accent-red-bg);
}

/* ===== Empty State ===== */
.learning-empty-state {
    text-align: center;
    padding: var(--space-2xl) var(--space-lg);
    color: var(--text-muted);
}

.learning-empty-state h3 {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-bottom: var(--space-sm);
}

.learning-empty-state p {
    font-size: 0.9rem;
    margin-bottom: var(--space-lg);
}

/* ===== Add Source View ===== */
.learning-add-source {
    max-width: 500px;
    margin: 0 auto;
    padding: var(--space-xl) 0;
}

.learning-add-source h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-md);
}

.learning-add-source-input {
    display: flex;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
}

.learning-add-source-input input {
    flex: 1;
    padding: 10px 14px;
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s;
}

.learning-add-source-input input:focus {
    border-color: var(--accent-blue);
}

.learning-add-source-error {
    color: var(--accent-red);
    font-size: 0.85rem;
    margin-top: var(--space-sm);
}

.learning-add-source-loading {
    color: var(--text-muted);
    font-size: 0.85rem;
    margin-top: var(--space-sm);
}

/* ===== Source Settings ===== */
.learning-source-actions {
    display: flex;
    gap: var(--space-sm);
    margin-top: var(--space-md);
    flex-wrap: wrap;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .learning-sources-grid {
        grid-template-columns: 1fr;
    }
}
