/* dashboard.html — page-specific styles. Shared rules live in app.css. */

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}
@media (max-width: 1100px) { .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .dashboard-grid { grid-template-columns: minmax(0, 1fr); } }
.dashboard-card { padding: 0.9rem 1rem 0.6rem; }
.dashboard-card h2 { padding-bottom: 0.5rem; border-bottom: 1px solid var(--border); margin-bottom: 0.15rem; }
.dashboard-card--wide { grid-column: 1 / -1; }
.card-help { color: var(--text-2); font-size: 13px; margin: 0.6rem 0 0.75rem; }
.sync-button { width: 100%; height: 38px; font-size: 14px; }
.export-btn.btn-secondary {
    width: 100%;
    margin: 0.5rem 0 0.4rem;
    background: var(--surface);
    border-color: var(--border-strong);
    color: var(--text);
}
.export-btn.btn-secondary:hover { background: var(--surface-2); }
.sync-result { display: none; margin-top: 0.5rem; }
.sync-result .metric-value { font-weight: 600; }
.sync-result-details { margin-top: 0.4rem; font-size: 13px; color: var(--text-2); line-height: 1.6; }
.api-link { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 500; }
.metric-value.is-ok { color: var(--ok-text); }
.metric-value.is-warn { color: var(--warn-text); }
.metric-value.is-err { color: var(--err-text); }

/* Recent syncs */
.sync-history { max-height: 380px; overflow-y: auto; display: grid; gap: 0.4rem; padding: 0.5rem 0 0.4rem; }
.sync-entry {
    display: grid;
    gap: 0.3rem;
    padding: 0.55rem 0.75rem 0.6rem 0.9rem;
    border: 1px solid var(--border);
    border-left: 3px solid var(--ok);
    border-radius: var(--radius-sm);
    background: var(--surface);
}
.sync-entry.failed { border-left-color: var(--err); }
.sync-entry.running { border-left-color: var(--warn); }
.sync-entry-head { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.sync-entry-time { font-size: 12.5px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.sync-entry-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 1.1rem;
    font-size: 13px;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
}
.sync-entry-stats strong { color: var(--text); font-weight: 600; }
.sync-entry-error {
    color: var(--err-text);
    font-size: 12.5px;
    font-family: var(--font-mono);
    word-break: break-word;
}
