:root {
    --bct-bg-main: #f8fafc;
    --bct-bg-card: #ffffff;
    --bct-text-main: #0f172a;
    --bct-text-muted: #64748b;
    --bct-border: #e2e8f0;
    --bct-primary: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    --bct-accent: #0ea5e9;
    --bct-success: #10b981;
    --bct-danger: #ef4444;
}

/* Automatic System Preference Dark Theme Configuration Maps */
@media (prefers-color-scheme: dark) {
    :root {
        --bct-bg-main: #0f172a;
        --bct-bg-card: #1e293b;
        --bct-text-main: #f8fafc;
        --bct-text-muted: #94a3b8;
        --bct-border: #334155;
        --bct-accent: #38bdf8;
    }
}

.bct-dashboard {
    background-color: var(--bct-bg-main);
    color: var(--bct-text-main);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    padding: 24px;
    border-radius: 12px;
    max-width: 1250px;
    margin: 20px auto;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.bct-header {
    border-bottom: 2px solid var(--bct-border);
    padding-bottom: 16px;
    margin-bottom: 24px;
}

.bct-header h2 {
    margin: 0 0 6px 0;
    font-size: 1.8rem;
    color: var(--bct-accent);
    display: flex;
    align-items: center;
    gap: 10px;
}

.bct-header p { margin: 0; color: var(--bct-text-muted); }

.bct-card {
    background-color: var(--bct-bg-card);
    border: 1px solid var(--bct-border);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.bct-search-box {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

.bct-form-row {
    display: flex;
    gap: 16px;
}

@media (max-width: 768px) {
    .bct-form-row { flex-direction: column; }
}

.bct-form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 14px;
}

.flex-grow-2 { flex-grow: 2; }

.bct-form-group label {
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--bct-text-muted);
}

.bct-form-group input, .bct-form-group select {
    padding: 10px 14px;
    border: 1px solid var(--bct-border);
    background-color: var(--bct-bg-main);
    color: var(--bct-text-main);
    border-radius: 6px;
    font-size: 0.95rem;
    outline: none;
}

.bct-form-group input:focus { border-color: var(--bct-accent); }

.bct-text-btn {
    background: none;
    border: none;
    color: var(--bct-accent);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    padding: 0;
    margin-bottom: 14px;
}

.bct-action-buttons { display: flex; gap: 12px; margin-top: 10px; }

.bct-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: transform 0.1s ease;
}

.bct-btn:active { transform: scale(0.98); }
.bct-btn-primary { background: var(--bct-primary); color: #fff; }
.bct-btn-secondary { background-color: #cbd5e1; color: #334155; }

/* Progress Monitoring Layout components */
#bct-processing-wrapper {
    background: var(--bct-bg-card);
    border: 1px solid var(--bct-border);
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 24px;
}

.bct-progress-info { display: flex; justify-content: space-between; font-weight: 600; font-size: 0.85rem; margin-bottom: 6px; }
.bct-progress-bar-container { background: var(--bct-border); height: 8px; border-radius: 4px; overflow: hidden; }
#bct-progress-bar { background: var(--bct-accent); height: 100%; width: 0%; transition: width 0.25s linear; }

/* Stats Component Display Cards Grid */
.bct-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.bct-stat-card {
    background-color: var(--bct-bg-card);
    border: 1px solid var(--bct-border);
    padding: 16px;
    border-radius: 8px;
    text-align: center;
}

.bct-stat-card.comparison-head {
    background: var(--bct-border);
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bct-stat-card.comparison-head h4 { margin: 0 0 6px 0; font-size: 0.95rem; }

.target-label-txt::before { content: "● "; color: #0284c7; }
.competitor-label-txt::before { content: "● "; color: #ef4444; }

.stat-title { display: block; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; color: var(--bct-text-muted); }
.stat-value { display: block; font-size: 1.5rem; font-weight: 800; margin-top: 6px; }

.bct-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 868px) {
    .bct-grid-two { grid-template-columns: 1fr; }
}

.bct-chart-container { position: relative; height: 220px; width: 100%; margin-top: 10px; }

/* Dashboard Structural Data Presentation Tabular Components CSS styling */
.bct-table-wrapper { overflow-x: auto; margin-top: 12px; border-radius: 6px; border: 1px solid var(--bct-border); }
.bct-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 0.88rem; }
.bct-table th { background-color: var(--bct-border); color: var(--bct-text-main); font-weight: 700; padding: 12px; }
.bct-table td { padding: 12px; border-bottom: 1px solid var(--bct-border); white-content: nowrap; max-width: 320px; overflow: hidden; text-overflow: ellipsis; }
.bct-table tbody tr:hover { background-color: rgba(0,0,0,0.02); }

.bct-card-header-actions { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--bct-border); padding-bottom: 12px; }
.bct-card-header-actions h3 { margin: 0; }
.bct-export-buttons { display: flex; gap: 8px; }

.bct-mini-btn {
    padding: 6px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--bct-border);
    background-color: var(--bct-bg-card);
    color: var(--bct-text-main);
    border-radius: 4px;
    cursor: pointer;
}

.bct-mini-btn:hover { border-color: var(--bct-accent); color: var(--bct-accent); }

.bct-filter-bar { display: flex; gap: 12px; margin-top: 14px; }
.bct-filter-bar input { flex-grow: 2; padding: 8px 12px; border: 1px solid var(--bct-border); border-radius: 4px; background-color: var(--bct-bg-main); color: var(--bct-text-main); }
.bct-filter-bar select { padding: 8px 12px; border: 1px solid var(--bct-border); border-radius: 4px; background-color: var(--bct-bg-main); color: var(--bct-text-main); }

/* Alerts Utility Declarations */
.bct-alert { padding: 12px 16px; border-radius: 6px; margin-bottom: 20px; font-size: 0.9rem; font-weight: 600; }
.bct-alert-warning { background-color: #fef9c3; color: #854d0e; border: 1px solid #fde047; }
.bct-alert-danger { background-color: #fef2f2; color: #991b1b; border: 1px solid #fee2e2; }

.text-success { color: var(--bct-success)!important; }
.text-accent { color: var(--bct-accent)!important; }
.mt-4 { margin-top: 16px; }
.label-badge { padding: 2px 6px; font-size: 0.72rem; font-weight: 700; border-radius: 4px; text-transform: uppercase; }
.badge-dofollow { background-color: #e6f4ea; color: #137333; }
.badge-nofollow { background-color: #f1f3f4; color: #3c4043; }