/**
 * plugins/generic/impactora/css/impactora.css
 * Copyright (c) 2026 Publiora
 */

.impactora-page { max-width: 960px; padding: 2rem; }

.impactora-header { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.impactora-logo { height: 2.5rem; width: auto; }
.impactora-subtitle { font-size: 0.875rem; color: #64748b; font-weight: 600; }
.impactora-version-badge {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    padding: 0.3rem 0.7rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.impactora-section { margin-top: 2rem; }
.impactora-section h2 { font-size: 1.125rem; font-weight: 750; color: #0f172a; margin: 0 0 1rem; }
.impactora-section-desc { font-size: 0.8125rem; color: #64748b; margin: -0.5rem 0 1rem; }

/* Alerts */
.impactora-alert { padding: 1rem 1.25rem; border-radius: 0.75rem; margin-bottom: 1.5rem; font-size: 0.875rem; }
.impactora-alert-warn { background: #fef3c7; border: 1px solid #fde68a; color: #92400e; }
.impactora-alert-info { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; }
.impactora-alert-ok { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.impactora-alert a { color: #047857; font-weight: 600; }

/* Stats grid */
.impactora-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.875rem; margin-bottom: 1.5rem; }
.impactora-stat { display: flex; align-items: center; gap: 0.75rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 0.875rem; padding: 1.25rem; }
.impactora-stat-primary { border-color: #a7f3d0; background: #f0fdf4; }
.impactora-stat-num { display: block; font-size: 1.5rem; font-weight: 800; color: #0f172a; letter-spacing: -0.03em; }
.impactora-stat-num-sm { font-size: 0.9375rem; font-weight: 700; }
.impactora-stat-label { display: block; font-size: 0.6875rem; color: #64748b; font-weight: 600; margin-top: 0.125rem; text-transform: uppercase; letter-spacing: 0.03em; }

.impactora-empty { background: #fff; border: 1px dashed #cbd5e1; border-radius: 0.875rem; padding: 1.5rem 1.25rem; margin-bottom: 1.5rem; }
.impactora-empty-title { margin: 0 0 0.35rem; font-size: 1rem; font-weight: 750; color: #0f172a; }
.impactora-empty-copy { margin: 0; font-size: 0.875rem; color: #64748b; line-height: 1.55; }

/* Sync button */
.impactora-sync-form { margin: 0; }
.impactora-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-bottom: 0.5rem; }
.impactora-btn-sync { background: #16634b !important; color: #fff !important; border: none !important; padding: 0.625rem 1.25rem !important; border-radius: 0.5rem !important; font-weight: 700 !important; font-size: 0.8125rem !important; cursor: pointer; }
.impactora-btn-sync:hover { background: #0e4f3a !important; }
.impactora-btn-secondary { background: #fff !important; color: #16634b !important; border: 1px solid #a7f3d0 !important; padding: 0.625rem 1.25rem !important; border-radius: 0.5rem !important; font-weight: 700 !important; font-size: 0.8125rem !important; text-decoration: none !important; }
.impactora-schedule-note { font-size: 0.75rem; color: #64748b; margin: 0 0 1.25rem; }
.impactora-profile-name { font-size: 0.8125rem; font-weight: 700; color: #16634b; margin: 0 0 0.75rem; }
.impactora-link-form { display: flex; gap: 0.375rem; align-items: center; flex-wrap: wrap; }
.impactora-link-form select { max-width: 280px; font-size: 0.75rem; }

/* Bar chart */
.impactora-chart { display: flex; flex-direction: column; gap: 0.5rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 0.875rem; padding: 1.25rem; }
.impactora-chart-row { display: grid; grid-template-columns: 180px 1fr 60px; align-items: center; gap: 0.75rem; }
.impactora-chart-label { font-size: 0.75rem; font-weight: 600; color: #334155; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.impactora-chart-bar-wrap { height: 1.5rem; background: #f1f5f9; border-radius: 0.375rem; overflow: hidden; position: relative; }
.impactora-chart-bar { height: 100%; background: linear-gradient(90deg, #16634b, #22c55e); border-radius: 0.375rem; min-width: 2px; display: flex; align-items: center; justify-content: flex-end; padding-right: 0.375rem; transition: width 0.6s ease; }
.impactora-chart-value { font-size: 0.75rem; font-weight: 800; color: #0f172a; text-align: right; }
.impactora-growth-badge { font-size: 0.625rem; font-weight: 700; color: #fff; background: #059669; border-radius: 999px; padding: 0.0625rem 0.375rem; }

/* Table */
.impactora-table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 0.75rem; overflow: hidden; }
.impactora-table th { background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 0.75rem; text-align: left; font-size: 0.6875rem; text-transform: uppercase; color: #475569; font-weight: 700; letter-spacing: 0.03em; }
.impactora-table td { padding: 0.75rem; border-bottom: 1px solid #f1f5f9; }
.impactora-table tr:last-child td { border-bottom: none; }
.impactora-table tr:hover td { background: #f8fdf9; }
.impactora-table a { color: #1e40af; text-decoration: none; font-weight: 600; }
.impactora-table a:hover { text-decoration: underline; }

.impactora-growth-up { color: #059669; font-weight: 700; font-size: 0.75rem; }
.impactora-growth-down { color: #dc2626; font-weight: 700; font-size: 0.75rem; }
.impactora-growth-flat { color: #94a3b8; }

/* Top Authors */
.impactora-authors-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.625rem; }
.impactora-author-card { display: flex; align-items: center; gap: 0.75rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 0.75rem; padding: 0.875rem 1rem; }
.impactora-author-rank { font-size: 0.75rem; font-weight: 800; color: #16634b; background: #ecfdf5; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; border-radius: 999px; }
.impactora-author-name { display: block; font-size: 0.8125rem; font-weight: 700; color: #0f172a; }
.impactora-author-stats { display: block; font-size: 0.6875rem; color: #64748b; margin-top: 0.125rem; }

/* Embed widget */
.impactora-embed-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 0.75rem; padding: 1rem; }
.impactora-embed-code { width: 100%; border: 1px solid #cbd5e1; border-radius: 0.5rem; padding: 0.625rem; font-size: 0.6875rem; font-family: ui-monospace, monospace; background: #fff; resize: vertical; color: #334155; }
.impactora-btn-copy { margin-top: 0.625rem; background: #16634b; color: #fff; border: none; padding: 0.5rem 1rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 700; cursor: pointer; }
.impactora-btn-copy:hover { background: #0e4f3a; }

/* Sidebar widget */
.block_impactora .impactora-sidebar-list { list-style: none; padding: 0; margin: 0; }
.block_impactora .impactora-sidebar-item { padding: 0.625rem 0; border-bottom: 1px solid rgba(0,0,0,0.12); }
.block_impactora .impactora-sidebar-item:last-child { border-bottom: none; }
.block_impactora .impactora-sidebar-link { display: block; text-decoration: none; color: inherit; }
.block_impactora .impactora-sidebar-link:hover .impactora-sidebar-title { text-decoration: underline; }
.block_impactora .impactora-sidebar-title { display: block; font-size: 0.8125rem; font-weight: 600; color: inherit; line-height: 1.4; }
.block_impactora .impactora-sidebar-cite { display: inline-block; margin-top: 0.25rem; font-size: 0.6875rem; font-weight: 700; color: inherit; opacity: 0.8; border: 1px solid currentColor; padding: 0.125rem 0.5rem; border-radius: 999px; }

/* Badge: inherit journal colours so custom themes are not forced green */
.impactora-badge { display: inline-flex; align-items: center; gap: 0.375rem; background: transparent; border: 1px solid currentColor; border-radius: 999px; padding: 0.25rem 0.75rem; margin-top: 0.5rem; color: inherit; }
.impactora-badge-count { font-size: 0.875rem; font-weight: 800; }
.impactora-badge-label { font-size: 0.75rem; opacity: 0.85; }

/* Responsive */
@media (max-width: 768px) {
    .impactora-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .impactora-authors-grid { grid-template-columns: 1fr; }
    .impactora-update-content { flex-direction: column; align-items: flex-start; }
    .impactora-update-actions { width: 100%; }
}

/* Update banner */
.impactora-update-banner { margin-bottom: 1.5rem; background: linear-gradient(135deg, #ecfdf5 0%, #eff6ff 100%); border: 1px solid #a7f3d0; border-radius: 0.875rem; padding: 1.25rem 1.5rem; }
.impactora-update-content { display: flex; align-items: center; gap: 1rem; }
.impactora-update-icon { font-size: 1.5rem; font-weight: 800; color: #059669; background: #d1fae5; width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; border-radius: 999px; flex-shrink: 0; }
.impactora-update-text { flex: 1; }
.impactora-update-text strong { display: block; font-size: 0.9375rem; color: #065f46; }
.impactora-update-current { display: block; font-size: 0.75rem; color: #64748b; margin-top: 0.125rem; }
.impactora-update-changelog { font-size: 0.8125rem; color: #334155; margin: 0.375rem 0 0; line-height: 1.4; }
.impactora-update-date { font-size: 0.6875rem; color: #64748b; }
.impactora-update-actions { display: flex; gap: 0.5rem; flex-shrink: 0; }
.impactora-update-form { display: inline; }
.impactora-btn-update { background: #059669 !important; color: #fff !important; border: none !important; padding: 0.5rem 1rem !important; border-radius: 0.5rem !important; font-weight: 700 !important; font-size: 0.8125rem !important; cursor: pointer; }
.impactora-btn-update:hover { background: #047857 !important; }
.impactora-btn-rollback { background: #fff !important; color: #64748b !important; border: 1px solid #e2e8f0 !important; padding: 0.5rem 1rem !important; border-radius: 0.5rem !important; font-weight: 600 !important; font-size: 0.8125rem !important; cursor: pointer; }
.impactora-btn-rollback:hover { background: #f8fafc !important; color: #334155 !important; border-color: #cbd5e1 !important; }
.impactora-rollback { margin-top: 0.75rem; font-size: 0.75rem; color: #64748b; }
.impactora-rollback summary { cursor: pointer; }
.impactora-rollback form { margin-top: 0.5rem; }

.impactora-source { display: inline-block; font-size: 0.625rem; font-weight: 700; padding: 0.125rem 0.5rem; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.03em; }
.impactora-source-scholar { background: #ecfdf5; color: #047857; }
.impactora-source-crossref { background: #eff6ff; color: #1d4ed8; }
.impactora-gainers { display: flex; flex-direction: column; gap: 0.5rem; }
.impactora-gainer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 0.75rem; padding: 0.75rem 1rem; }
.impactora-gainer-title { font-size: 0.8125rem; font-weight: 600; color: #1e293b; }
