/* ============================================================
   RGB Rank — 20-panel.css (S2)
   دامنه‌ها، کلمات کلیدی، نمودارها، گزارش عمومی، مودال‌ها.
   روی توکن‌ها و کامپوننت‌های .rgbr- در 00-core.css سوار می‌شود.
   ============================================================ */

.rgbr-muted { color: var(--text-3); font-size: .85rem; }
.rgbr-section-title { margin: 28px 0 14px; font-size: 1.15rem; }

/* ---------- جعبهٔ افزودن سریع (داشبورد/دامنه‌ها) ---------- */
.rgbr-quickadd--row { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.rgbr-quickadd--row .rgbr-field { flex: 1 1 240px; margin-bottom: 0; }
.rgbr-quickadd-inline { margin-bottom: 22px; }
.rgbr-onboarding-steps { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.rgbr-onboarding-steps li { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: var(--surface-2); border-radius: var(--r-sm); }
.rgbr-onboarding-steps li span { color: var(--text-3); font-size: .85rem; }

/* ---------- شبکهٔ کارت دامنه (داشبورد) ---------- */
.rgbr-domain-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.rgbr-domain-card { display: block; text-decoration: none; color: var(--text);  }
.rgbr-domain-card:hover {  border-color: var(--blue); }
.rgbr-domain-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; gap: 8px; }
.rgbr-domain-card .rgbr-spark { inline-size: 100%; block-size: 40px; margin-bottom: 10px; }
.rgbr-domain-card-empty { display: block; color: var(--text-3); font-size: .8rem; margin-bottom: 10px; }
.rgbr-domain-card-foot { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; font-size: .82rem; color: var(--text-2); }

/* ---------- جدول دامنه‌ها / اکشن هر ردیف ---------- */
.rgbr-adddomain h2 { margin-bottom: 4px; }
.rgbr-row-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* ---------- سرِ صفحهٔ کلمات کلیدی ---------- */
.rgbr-kw-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.rgbr-kw-head-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.rgbr-kwd-title { font-size: 1.3rem; margin-bottom: 8px; }

/* ---------- نمودارها ---------- */
.rgbr-charts-card { margin-bottom: 22px; }
.rgbr-charts-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.rgbr-charts-head h2 { font-size: 1.1rem; }
.rgbr-daterange { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; font-size: .82rem; color: var(--text-2); }
.rgbr-daterange label { display: flex; flex-direction: column; gap: 4px; }
.rgbr-charts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.rgbr-chart-box h3 { font-size: .95rem; margin-bottom: 10px; color: var(--text-2); }

/* ---------- انتخاب‌گر تاریخ جلالی ---------- */
.rgbr-jdate-picker { display: inline-flex; gap: 6px; }
.rgbr-jdate-picker select { padding: 8px 8px; background: var(--surface); border: 1px solid var(--border-2); border-radius: var(--r-sm); color: var(--text); font: inherit; font-size: .82rem; }

/* ---------- جدول کلمات کلیدی ---------- */
.rgbr-kw-table-card { margin-bottom: 24px; }
#rgbr-kw-table th:first-child, #rgbr-kw-table td:first-child { min-width: 220px; white-space: normal; }
.rgbr-kw-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; align-items: center; }
.rgbr-tag-edit { border: none; background: transparent; color: var(--text-3); cursor: pointer; font-size: .8rem; padding: 0 4px; }
.rgbr-tag-edit:hover { color: var(--blue); }
.rgbr-device-icon { display: inline-flex; align-items: center; gap: 5px; font-size: .78rem; color: var(--text-2); }
.rgbr-device-icon svg { flex: none; color: var(--text-3); }

/* ---------- ویزارد افزودن دسته‌ای ---------- */
.rgbr-bulk-row { display: flex; gap: 12px; flex-wrap: wrap; }
.rgbr-bulk-row .rgbr-field { flex: 1 1 150px; }
#rgbr-bulk-textarea { min-block-size: 120px; resize: vertical; }

/* ---------- مودال عمومی ---------- */
.rgbr-modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: rgba(6, 10, 20, .6); padding: 16px; }
.rgbr-modal[hidden] { display: none; }
.rgbr-modal-box { position: relative; inline-size: 100%; max-inline-size: 460px; max-block-size: 88vh; overflow-y: auto; border-radius: var(--r-lg); padding: 28px 24px; }
.rgbr-modal-box--lg { max-inline-size: 620px; }
.rgbr-modal-close { position: absolute; inset-inline-end: 14px; inset-block-start: 12px; background: transparent; border: none; color: var(--text-2); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.rgbr-modal-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; max-block-size: 240px; overflow-y: auto; }
.rgbr-modal-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--surface-2); border-radius: var(--r-sm); font-size: .85rem; }
.rgbr-modal-list li button { border: none; background: transparent; color: var(--red); cursor: pointer; font-size: .85rem; }

/* ---------- ماشین زمان SERP ---------- */
.rgbr-timemachine-controls { display: flex; align-items: end; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.rgbr-timemachine-result { display: grid; gap: 6px; }
.rgbr-serp-row { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--r-sm); background: var(--surface-2); border: 1px solid var(--border); font-size: .85rem; }
.rgbr-serp-row.is-own { border-color: var(--blue); background: rgba(77, 159, 255, .1); }
.rgbr-serp-row.is-competitor { border-color: rgba(255, 195, 77, .35); background: rgba(255, 195, 77, .06); }
.rgbr-serp-pos { font-weight: 800; color: var(--text-3); min-inline-size: 24px; }
.rgbr-serp-row.is-own .rgbr-serp-pos { color: var(--blue); }
.rgbr-serp-body { flex: 1; min-width: 0; }
.rgbr-serp-title { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rgbr-serp-url { display: block; color: var(--text-3); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; direction: ltr; text-align: end; }
.rgbr-tm-legend { margin-top: 14px; font-size: .8rem; color: var(--text-3); }

/* ---------- گزارش عمومی ---------- */
.rgbr-report-wrap { padding: calc(var(--head-h) + 24px) 0 64px; display: grid; gap: 20px; }
.rgbr-report-head h1 { font-size: 1.4rem; margin-bottom: 6px; }
.rgbr-report-cta { text-align: center; padding: 32px 20px; display: grid; gap: 14px; place-items: center; }

@media (max-width: 640px) {
	.rgbr-kw-head { flex-direction: column; align-items: stretch; }
	.rgbr-timemachine-controls { flex-direction: column; align-items: stretch; }
}

/* ---------- تب‌های بخش رنک چکر (دامنه‌ها / همه کلمات کلیدی) ---------- */
.rgbr-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 18px; border-bottom: 1px solid var(--border); }
.rgbr-tab {
	padding: 10px 16px; border-radius: var(--r-sm) var(--r-sm) 0 0;
	color: var(--text-2); text-decoration: none; font-size: .92rem; font-weight: 600;
	border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.rgbr-tab:hover { color: var(--text); background: var(--surface-2); }
.rgbr-tab.is-active { color: var(--blue); border-bottom-color: var(--blue); }
.rgbr-tabs-note { margin: -8px 0 18px; }

/* ---------- سرستون‌های قابل مرتب‌سازی ---------- */
.rgbr-th-sort { cursor: pointer; user-select: none; white-space: nowrap;  }
.rgbr-th-sort:hover, .rgbr-th-sort:focus-visible { color: var(--text); }
.rgbr-th-sort:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.rgbr-th-sort.is-sorted { color: var(--blue); }
.rgbr-th-arrow { font-style: normal; margin-inline-start: 4px; font-size: .8em; }
.rgbr-th-multi { white-space: nowrap; }
.rgbr-th-subsorts { display: inline-flex; gap: 2px; margin-inline-start: 6px; }
.rgbr-th-sub {
	border: none; background: transparent; padding: 1px 5px; border-radius: 999px;
	color: var(--text-3); font: inherit; font-size: .92em; cursor: pointer;

}
.rgbr-th-sub:hover { background: var(--surface-2); color: var(--text); }
.rgbr-th-sub:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.rgbr-th-sub.is-sorted { color: var(--blue); background: rgba(77, 159, 255, .12); }

/* ---------- لینک‌های داخل جدول: بدون زیرخط، رنگ روی هاور ---------- */
.rgbr-tlink { color: var(--text); text-decoration: none;  }
.rgbr-tlink:hover, .rgbr-tlink:focus-visible { color: var(--blue); text-decoration: none; }
.rgbr-kw-name { display: inline-flex; align-items: center; gap: 6px; }
/* روی دستگاه لمسی hover نداریم، پس مداد همیشه دیده می‌شود؛ فقط کم‌رنگ‌تر. */
.rgbr-kw-name .rgbr-tag-edit { opacity: .5;  }
.rgbr-table tbody tr:hover .rgbr-kw-name .rgbr-tag-edit,
.rgbr-kw-name .rgbr-tag-edit:hover,
.rgbr-kw-name .rgbr-tag-edit:focus-visible { opacity: 1; }

/* ---------- نمای «همه کلمات کلیدی» (/rank/domains/?view=keywords) ---------- */
.rgbr-alldomains-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.rgbr-chip--domain { text-decoration: none; color: var(--text-2);  }
.rgbr-chip--domain:hover { color: var(--blue); border-color: rgba(77, 159, 255, .45); }
.rgbr-chip--domain b { font-weight: 600; color: var(--text-3); font-size: .7rem; }
#rgbr-kw-table td.rgbr-kw-domain { white-space: nowrap; }
#rgbr-kw-table td.rgbr-kw-domain a { font-size: .82rem; }

/* ---------- نمایشگر بزرگ: تراکم بیشتر داده، اسکرول کمتر ---------- */
@media (min-width: 1360px) {
	.rgbr-table { font-size: .86rem; }
	.rgbr-table th, .rgbr-table td { padding: 10px 12px; }
	.rgbr-stats { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
	/* دکمه‌های ستون «عملیات» در یک خط بمانند؛ شکستنشان ارتفاع هر ردیف را دو برابر
	   می‌کرد و روی نمایشگر بزرگ نصف داده‌ها زیر خط اسکرول می‌رفت. */
	.rgbr-table .rgbr-row-actions { flex-wrap: nowrap; }
	.rgbr-table .rgbr-row-actions .rgbr-btn { white-space: nowrap; }
	.rgbr-stat { padding: 14px 16px; }
	.rgbr-stat-value { line-height: 1.2; }
	/* عنوان‌های بلند ستون‌ها در دو خط بشکنند (یک‌بار، در هدر) تا عرض جدول جا شود. */
	#rgbr-kw-table thead th { white-space: normal; line-height: 1.35; }
}
@media (min-width: 1700px) {
	#rgbr-kw-table th:first-child, #rgbr-kw-table td:first-child { min-width: 240px; }
}

/* ---------- انتخاب ردیف + نوار عملیات گروهی ---------- */
.rgbr-kw-check, .rgbr-kw-check-all { accent-color: var(--blue); inline-size: 15px; block-size: 15px; cursor: pointer; flex: none; }
.rgbr-th-keyword { white-space: nowrap; }
.rgbr-th-keyword .rgbr-th-label { cursor: pointer; user-select: none; margin-inline-start: 8px; }
.rgbr-th-keyword .rgbr-th-label:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.rgbr-bulkbar {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	padding: 10px 14px; margin-bottom: 12px;
	background: rgba(77, 159, 255, .08); border: 1px solid rgba(77, 159, 255, .3); border-radius: var(--r-sm);
}
.rgbr-bulkbar[hidden] { display: none; }
.rgbr-bulkbar-count { font-size: .85rem; color: var(--text-2); }
.rgbr-bulkbar-count strong { color: var(--blue); font-size: 1rem; }
.rgbr-bulkbar-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-inline-start: auto; }
.rgbr-bulkbar .rgbr-form-msg { flex: 1 1 100%; margin: 0; }

/* ---------- دکمه‌های آیکنی ردیف ---------- */
.rgbr-row-actions--icons { gap: 2px; }
.rgbr-iconbtn {
	display: inline-grid; place-items: center; inline-size: 28px; block-size: 28px;
	border: 1px solid transparent; border-radius: var(--r-sm);
	background: transparent; color: var(--text-3); cursor: pointer;

}
.rgbr-iconbtn:hover { background: var(--surface-2); color: var(--text); border-color: var(--border); }
.rgbr-iconbtn:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
.rgbr-iconbtn[disabled] { opacity: .45; cursor: progress; }
.rgbr-iconbtn--danger:hover { background: rgba(255, 77, 106, .12); color: var(--red); border-color: rgba(255, 77, 106, .35); }
@media (max-width: 900px) {
	.rgbr-row-actions--icons { justify-content: flex-end; }
}
