/* ============================================================
 * Promtra — App shell
 * Darkmode-first, modern SaaS layout.
 * ============================================================ */

/* Defensive reset against theme bleed-through */
html.promtra-app-html,
body.promtra-app {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	background: var(--promtra-bg);
}

body.promtra-app {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui,
		"Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: var(--promtra-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.promtra-app * {
	box-sizing: border-box;
}

/* Hide common theme chrome on the app page */
body.promtra-app > header,
body.promtra-app > footer,
body.promtra-app > .site-header,
body.promtra-app > .site-footer,
body.promtra-app > #masthead,
body.promtra-app > #colophon,
body.promtra-app > #wpadminbar {
	display: none !important;
}

/* ---------- Tokens (Dark) ---------- */
.promtra-app {
	--promtra-bg: #0b0d10;
	--promtra-bg-elev: #111418;
	--promtra-bg-elev-2: #161a1f;
	--promtra-bg-hover: #1c2127;
	--promtra-border: #232830;
	--promtra-border-soft: #1a1f25;
	--promtra-text: #e6e9ef;
	--promtra-text-soft: #aab2bf;
	--promtra-text-mute: #717986;
	--promtra-accent: #7c5cff;
	--promtra-accent-soft: rgba(124, 92, 255, 0.16);
	--promtra-accent-text: #b5a5ff;
	--promtra-success: #34d399;
	--promtra-error:   #f87171;
	--promtra-warning: #fbbf24;
	--promtra-radius: 12px;
	--promtra-radius-sm: 8px;
	--promtra-radius-lg: 16px;
	--promtra-shadow: 0 1px 0 rgba(255, 255, 255, 0.02) inset, 0 8px 24px rgba(0, 0, 0, 0.35);
	--promtra-topbar-h: 60px;
	--promtra-sidebar-w: 264px;
}

/* ---------- Tokens (Light) ---------- */
.promtra-app[data-theme="light"],
html[data-theme="light"] .promtra-app {
	--promtra-bg: #f6f7f9;
	--promtra-bg-elev: #ffffff;
	--promtra-bg-elev-2: #ffffff;
	--promtra-bg-hover: #eef0f4;
	--promtra-sidebar-item-active: #dce1ea;
	--promtra-border: #e3e6ec;
	--promtra-border-soft: #eef0f4;
	--promtra-text: #11151b;
	--promtra-text-soft: #4a525e;
	--promtra-text-mute: #8a929e;
	--promtra-accent: #6447ff;
	--promtra-accent-soft: rgba(100, 71, 255, 0.12);
	--promtra-accent-text: #6447ff;
	--promtra-shadow: 0 1px 0 rgba(0, 0, 0, 0.02) inset, 0 8px 24px rgba(15, 18, 25, 0.06);
}

/* ---------- App layout ---------- */
.promtra-app {
	min-height: 100vh;
	background: var(--promtra-bg);
	color: var(--promtra-text);
	display: flex;
	flex-direction: column;
}

.promtra-layout {
	flex: 1;
	display: grid;
	grid-template-columns: var(--promtra-sidebar-w) 1fr;
	min-height: calc(100vh - var(--promtra-topbar-h));
}

/* ---------- Icons ---------- */
.promtra-icon {
	flex-shrink: 0;
	color: currentColor;
	display: inline-block;
	vertical-align: middle;
}

/* ---------- Topbar ---------- */
.promtra-topbar {
	position: sticky;
	top: 0;
	z-index: 50;
	display: grid;
	grid-template-columns: var(--promtra-sidebar-w) 1fr auto;
	align-items: center;
	height: var(--promtra-topbar-h);
	padding: 0 16px 0 0;
	background: var(--promtra-bg-elev);
	border-bottom: 1px solid var(--promtra-border);
}

.promtra-topbar__left {
	display: flex;
	align-items: center;
	padding: 0 16px;
	height: 100%;
	border-right: 1px solid var(--promtra-border);
}

.promtra-topbar__center {
	display: flex;
	align-items: center;
	padding: 0 20px;
	min-width: 0;
}

.promtra-topbar__right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.promtra-brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--promtra-text);
	text-decoration: none;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.promtra-brand__mark {
	display: inline-flex;
	align-items: center;
	color: inherit;
}

.promtra-brand__name {
	font-size: 15px;
}

/* Breadcrumbs */
.promtra-breadcrumbs {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--promtra-text-mute);
	font-size: 13px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promtra-breadcrumbs__sep {
	display: inline-flex;
	align-items: center;
	color: var(--promtra-text-mute);
}

.promtra-breadcrumbs__item.is-current {
	color: var(--promtra-text);
	font-weight: 500;
}

/* Buttons */
.promtra-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid var(--promtra-border);
	background: var(--promtra-bg-elev-2);
	color: var(--promtra-text);
	border-radius: var(--promtra-radius-sm);
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
	font-family: inherit;
	line-height: 1;
}

.promtra-btn:hover {
	background: var(--promtra-bg-hover);
}

.promtra-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.promtra-btn--primary {
	background: var(--promtra-accent);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 4px 14px rgba(124, 92, 255, 0.35);
}

.promtra-btn--primary:hover {
	background: #6c4cf2;
}

.promtra-btn--ghost {
	background: transparent;
	border-color: var(--promtra-border);
	color: var(--promtra-text-soft);
}

.promtra-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--promtra-radius-sm);
	background: transparent;
	border: 1px solid transparent;
	color: var(--promtra-text-soft);
	cursor: pointer;
	position: relative;
	transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.promtra-iconbtn:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-iconbtn__icon {
	display: inline-flex;
}

.promtra-iconbtn__icon--light {
	display: none;
}

.promtra-app[data-theme="light"] .promtra-iconbtn__icon--dark,
html[data-theme="light"] .promtra-app .promtra-iconbtn__icon--dark {
	display: none;
}

.promtra-app[data-theme="light"] .promtra-iconbtn__icon--light,
html[data-theme="light"] .promtra-app .promtra-iconbtn__icon--light {
	display: inline-flex;
}

.promtra-account {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid transparent;
	color: var(--promtra-text-soft);
	padding: 6px 10px 6px 6px;
	border-radius: 999px;
	font-size: 13px;
	cursor: pointer;
	font-family: inherit;
	transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.promtra-account:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-account__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
}

.promtra-account__chev {
	display: inline-flex;
}

/* ---------- Sidebar ---------- */
.promtra-sidebar {
	position: sticky;
	top: var(--promtra-topbar-h);
	align-self: start;
	height: calc(100vh - var(--promtra-topbar-h));
	overflow-y: auto;
	background: var(--promtra-bg-elev);
	border-right: 1px solid var(--promtra-border);
	padding: 16px 12px 24px;
	scrollbar-width: thin;
	scrollbar-color: var(--promtra-border) transparent;
}

.promtra-sidebar::-webkit-scrollbar {
	width: 8px;
}
.promtra-sidebar::-webkit-scrollbar-thumb {
	background: var(--promtra-border);
	border-radius: 8px;
}

/* Nav */
.promtra-nav {
	padding: 0 4px;
}

.promtra-nav__label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	padding: 6px 10px;
}

.promtra-nav__label--spaced {
	margin-top: 18px;
}

.promtra-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.promtra-nav__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: var(--promtra-radius-sm);
	color: var(--promtra-text-soft);
	text-decoration: none;
	font-size: 13px;
	border: 1px solid transparent;
	background: transparent;
	width: 100%;
	font-family: inherit;
	cursor: pointer;
	text-align: left;
	transition: background 120ms ease, color 120ms ease;
}

.promtra-nav__link:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-nav__link.is-active {
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
}

.promtra-nav__chev {
	margin-left: auto;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	color: var(--promtra-text-mute);
	will-change: transform;
	transition: transform 160ms ease;
}

.promtra-nav__group.is-open .promtra-nav__chev {
	transform: rotate(180deg);
}

.promtra-nav__sub {
	list-style: none;
	margin: 2px 0 4px;
	padding: 0 0 0 26px;
	display: none;
	flex-direction: column;
	gap: 1px;
}

.promtra-nav__group.is-open .promtra-nav__sub {
	display: flex;
}

.promtra-nav__sublink {
	display: block;
	padding: 6px 10px;
	border-radius: var(--promtra-radius-sm);
	color: var(--promtra-text-mute);
	text-decoration: none;
	font-size: 13px;
	transition: background 120ms ease, color 120ms ease;
}

.promtra-nav__sublink:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-nav__sublink.is-active {
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
}

/* ---------- Filter Bar ---------- */
.promtra-filterbar {
	position: sticky;
	top: var(--promtra-topbar-h);
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 28px;
	background: var(--promtra-bg-elev);
	border-bottom: 1px solid var(--promtra-border);
	flex-wrap: wrap;
}

.promtra-filter {
	position: relative;
}

.promtra-filter__btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 10px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: 20px;
	color: var(--promtra-text-soft);
	font-size: 12.5px;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
	white-space: nowrap;
	line-height: 1;
}

.promtra-filter__btn:hover,
.promtra-filter__btn[aria-expanded="true"] {
	background: var(--promtra-bg-hover);
	border-color: var(--promtra-accent);
	color: var(--promtra-text);
}

.promtra-filter__favicon {
	border-radius: 3px;
	display: block;
	flex-shrink: 0;
}

.promtra-filter__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--promtra-text-mute);
	display: inline-block;
	flex-shrink: 0;
}

.promtra-filter__ico {
	display: inline-flex;
	align-items: center;
}

.promtra-filter__chev {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	will-change: transform;
	transition: transform 150ms ease;
}

.promtra-filter__btn[aria-expanded="true"] .promtra-filter__chev {
	transform: rotate(180deg);
}

.promtra-filter__dropdown {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 180px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	box-shadow: var(--promtra-shadow);
	padding: 4px;
	z-index: 100;
}

.promtra-filter__item-row {
	display: flex;
	align-items: center;
	border-radius: var(--promtra-radius-sm);
	transition: background 100ms ease;
}
.promtra-filter__item-row:hover { background: var(--promtra-bg-hover); }
.promtra-filter__item-row.is-active .promtra-filter__item { color: var(--promtra-accent-text); }
.promtra-filter__item-row .promtra-filter__item {
	flex: 1;
	width: auto;
	min-width: 0;
	background: none;
	border-radius: 0;
	padding-right: 4px;
}
.promtra-filter__item-row .promtra-filter__item:hover { background: none; color: var(--promtra-text); }
.promtra-filter__item-edit {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-right: 4px;
	border-radius: var(--promtra-radius-sm);
	border: none;
	background: none;
	color: var(--promtra-text-mute);
	cursor: pointer;
	transition: color 100ms, background 100ms;
}
.promtra-filter__item-edit:hover { color: var(--promtra-text); background: var(--promtra-border-soft); }

.promtra-filter__item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	border-radius: var(--promtra-radius-sm);
	color: var(--promtra-text-soft);
	font-size: 13px;
	cursor: pointer;
	text-decoration: none;
	border: none;
	background: none;
	width: 100%;
	font-family: inherit;
	transition: background 100ms ease, color 100ms ease;
	text-align: left;
}

.promtra-filter__item:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-filter__item.is-active {
	color: var(--promtra-accent-text);
}

.promtra-filter__item--check {
	cursor: pointer;
	user-select: none;
}

.promtra-filter__checkbox {
	accent-color: var(--promtra-accent);
	width: 14px;
	height: 14px;
	cursor: pointer;
	flex-shrink: 0;
}

.promtra-filter__empty {
	display: block;
	padding: 8px 10px;
	color: var(--promtra-text-mute);
	font-size: 12px;
}

.promtra-filter__custom {
	border-top: 1px solid var(--promtra-border);
	margin-top: 4px;
	padding: 8px 10px 6px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.promtra-filter__range-label {
	font-size: 11px;
	font-weight: 500;
	color: var(--promtra-text-mute);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.promtra-filter__date-input {
	padding: 5px 8px;
	font-size: 12.5px;
}

.promtra-filter__apply-btn {
	padding: 5px 12px;
	font-size: 12px;
}

.promtra-filter__dropdown--date {
	min-width: 210px;
}

.promtra-filter__footer {
	border-top: 1px solid var(--promtra-border);
	margin-top: 4px;
	padding: 6px 4px 4px;
	display: flex;
	justify-content: flex-end;
}

/* ---------- Main ---------- */
.promtra-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.promtra-main__inner {
	padding: 24px 28px 40px;
	width: 100%;
}

/* ---------- Page ---------- */
.promtra-page__head {
	margin-bottom: 22px;
}

.promtra-page__title {
	margin: 0 0 6px;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--promtra-text);
}

.promtra-page__lead {
	margin: 0;
	color: var(--promtra-text-soft);
	font-size: 14px;
}

/* Tabs (project) */
.promtra-tabs {
	display: flex;
	gap: 4px;
	padding: 4px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	margin-bottom: 22px;
	width: fit-content;
}

.promtra-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--promtra-radius-sm);
	color: var(--promtra-text-soft);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	transition: background 120ms ease, color 120ms ease;
}

.promtra-tab:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-tab.is-active {
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
}

/* Grid */
.promtra-grid {
	display: grid;
	gap: 16px;
}

.promtra-grid--cards {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	margin-bottom: 24px;
}

.promtra-grid--personas {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	margin-bottom: 24px;
}

/* Compact KPI row — 4 cards always in one line */
.promtra-kpi-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}
.promtra-kpi-row__card {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 16px 18px;
}
.promtra-kpi-row__card--link {
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s;
}
.promtra-kpi-row__card--link:hover {
	border-color: var(--promtra-accent);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.promtra-kpi-row__label {
	font-size: 11px;
	color: var(--promtra-text-mute);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 6px;
}
.promtra-kpi-row__value {
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
	color: var(--promtra-text);
	margin-bottom: 4px;
}
.promtra-kpi-row__sub {
	font-size: 12px;
	color: var(--promtra-text-mute);
}

/* Card */
.promtra-card {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 18px;
	box-shadow: var(--promtra-shadow);
	transition: border-color 160ms ease, transform 160ms ease;
}

.promtra-card:hover {
	border-color: var(--promtra-border);
}

.promtra-card__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 10px;
}

.promtra-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--promtra-text);
	letter-spacing: -0.005em;
}

.promtra-card__meta {
	font-size: 11px;
	color: var(--promtra-text-mute);
	text-transform: uppercase;
}

.promtra-card__body {
	font-size: 13px;
}

.promtra-card__body p {
	margin: 0;
}

/* Lists */
.promtra-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: var(--promtra-text-soft);
	font-size: 13px;
}

.promtra-list li {
	padding-left: 14px;
	position: relative;
}

.promtra-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--promtra-border);
}

/* Persona card */
.promtra-persona {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	transition: border-color 160ms ease;
}

.promtra-persona__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--promtra-bg-elev-2);
	color: var(--promtra-text-soft);
	border: 1px solid var(--promtra-border);
	flex-shrink: 0;
}

.promtra-persona__meta {
	min-width: 0;
}

.promtra-persona__name {
	font-size: 13px;
	font-weight: 600;
	color: var(--promtra-text);
}

.promtra-persona__role {
	font-size: 12px;
	color: var(--promtra-text-mute);
}

.promtra-persona--add {
	border-style: dashed;
	cursor: pointer;
}

.promtra-persona--add:hover {
	border-color: var(--promtra-accent);
	color: var(--promtra-accent-text);
}

/* Empty state */
.promtra-empty {
	background: var(--promtra-bg-elev);
	border: 1px dashed var(--promtra-border);
	border-radius: var(--promtra-radius-lg);
	padding: 36px;
	margin-bottom: 24px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.promtra-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
	margin-bottom: 4px;
}

.promtra-empty__title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--promtra-text);
}

.promtra-empty__text {
	margin: 0;
	color: var(--promtra-text-soft);
	font-size: 13px;
	max-width: 520px;
}

/* ---------- Project banner (dashboard) ---------- */
.promtra-project-banner {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-lg);
	padding: 22px;
	margin-bottom: 22px;
}

.promtra-project-banner__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.promtra-project-banner__company {
	font-size: 18px;
	font-weight: 600;
	color: var(--promtra-text);
}

.promtra-project-banner__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--promtra-text-soft);
	font-size: 13px;
	margin-top: 4px;
	flex-wrap: wrap;
}

.promtra-project-banner__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.promtra-project-banner__hint {
	margin: 12px 0 0;
	color: var(--promtra-text-mute);
	font-size: 12px;
}

.promtra-dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--promtra-text-mute);
	display: inline-block;
}

.promtra-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	background: var(--promtra-bg-elev-2);
	color: var(--promtra-text-soft);
	border: 1px solid var(--promtra-border);
}

.promtra-pill--ok {
	color: var(--promtra-success);
	background: rgba(52, 211, 153, 0.08);
	border-color: rgba(52, 211, 153, 0.3);
}

.promtra-pill--running {
	color: var(--promtra-accent-text);
	background: var(--promtra-accent-soft);
	border-color: transparent;
}

.promtra-pill--error {
	color: var(--promtra-error);
	background: rgba(248, 113, 113, 0.08);
	border-color: rgba(248, 113, 113, 0.3);
}

/* ---------- Progress bar ---------- */
.promtra-progress {
	margin-top: 16px;
}

.promtra-progress__bar {
	width: 100%;
	height: 6px;
	border-radius: 999px;
	background: var(--promtra-bg-elev-2);
	overflow: hidden;
	border: 1px solid var(--promtra-border-soft);
}

.promtra-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--promtra-accent), #b3a3ff);
	transition: width 900ms cubic-bezier(0.22, 0.61, 0.36, 1);
	position: relative;
	overflow: hidden;
}

.promtra-progress__fill::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.25) 50%, transparent 100%);
	transform: translateX(-100%);
	animation: promtra-shimmer 1.6s linear infinite;
}

@keyframes promtra-shimmer {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

.promtra-progress__meta {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
	font-size: 12px;
	color: var(--promtra-text-soft);
}

.promtra-progress__error {
	margin-top: 8px;
	padding: 10px 12px;
	border-radius: var(--promtra-radius-sm);
	background: rgba(248, 113, 113, 0.08);
	border: 1px solid rgba(248, 113, 113, 0.3);
	color: #fca5a5;
	font-size: 12px;
}

/* ---------- Stats ---------- */
.promtra-stat {
	font-size: 32px;
	font-weight: 600;
	margin: 0;
	color: var(--promtra-text);
}

.promtra-stat__text {
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	color: var(--promtra-text);
}

.promtra-stat__lead {
	margin: 4px 0 0;
	color: var(--promtra-text-mute);
	font-size: 12px;
}

.promtra-cardlink {
	display: inline-block;
	margin-top: 10px;
	color: var(--promtra-accent-text);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
}

.promtra-cardlink:hover {
	text-decoration: underline;
}

.promtra-link {
	color: var(--promtra-accent-text);
	text-decoration: none;
	word-break: break-all;
}

.promtra-link:hover {
	text-decoration: underline;
}

.promtra-mute {
	color: var(--promtra-text-mute);
}

/* ---------- Tables ---------- */
.promtra-tablewrap {
	overflow-x: auto;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
}

.promtra-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	color: var(--promtra-text);
}

.promtra-table thead th {
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	padding: 12px 14px;
	border-bottom: 1px solid var(--promtra-border);
	background: var(--promtra-bg-elev-2);
}

.promtra-table thead th.promtra-num {
	text-align: right;
}

.promtra-table thead th.promtra-col-badge {
	text-align: center;
}

.promtra-table thead th.promtra-col-funnel {
	text-align: right;
}

.promtra-table tbody td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--promtra-border-soft);
}

.promtra-table tbody tr:last-child td {
	border-bottom: none;
}

.promtra-table tbody tr:hover td {
	background: var(--promtra-bg-hover);
}

.promtra-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.promtra-table-hint {
	margin: 10px 2px 0;
	font-size: 12px;
	color: var(--promtra-text-mute);
	text-align: right;
}

/* ---------- Personas ---------- */
.promtra-personas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
}

.promtra-personacard {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-lg);
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.promtra-personacard__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.promtra-personacard__avatar {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: -0.01em;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.promtra-personacard__initials {
	color: rgba(255, 255, 255, 0.95);
}

.promtra-personacard__name {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--promtra-text);
	letter-spacing: -0.005em;
}

.promtra-personacard__title {
	font-size: 12px;
	color: var(--promtra-text-mute);
}

.promtra-personacard__edit {
	margin-left: auto;
}

.promtra-personacard__quote {
	margin: 0;
	padding: 10px 12px;
	border-left: 2px solid var(--promtra-accent);
	color: var(--promtra-text-soft);
	font-style: italic;
	font-size: 13px;
	background: var(--promtra-bg-elev-2);
	border-radius: 8px;
}

.promtra-personacard__desc {
	margin: 0;
	color: var(--promtra-text-soft);
	font-size: 13px;
}

.promtra-personacard__section {
	border-top: 1px solid var(--promtra-border-soft);
	padding-top: 10px;
}

.promtra-personacard__sectionlabel {
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	margin-bottom: 4px;
}

.promtra-personacard__list {
	margin: 0;
	padding-left: 16px;
	font-size: 13px;
	color: var(--promtra-text-soft);
}

.promtra-personacard__list li {
	margin-bottom: 2px;
}

/* ---------- Modal ---------- */
.promtra-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.promtra-modal[hidden] {
	display: none;
}

.promtra-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.promtra-modal__dialog {
	position: relative;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-lg);
	max-width: 680px;
	width: 100%;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}

.promtra-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 64px;
	padding: 0 24px;
	border-bottom: 1px solid var(--promtra-border-soft);
	position: sticky;
	top: 0;
	background: var(--promtra-bg-elev);
	z-index: 1;
}

.promtra-modal__title {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	color: var(--promtra-text);
	line-height: 1;
}

.promtra-modal__close {
	background: transparent;
	border: 1px solid transparent;
	color: var(--promtra-text-soft);
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	cursor: pointer;
	transform: rotate(45deg);
}

.promtra-modal__close:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-modal__foot {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	padding: 16px 0 0;
	border-top: 1px solid var(--promtra-border-soft);
}

/* ---------- Form ---------- */
.promtra-form {
	padding: 20px 24px 24px;
}

.promtra-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.promtra-form__hint {
	margin: 14px 0 8px;
	color: var(--promtra-text-mute);
	font-size: 12px;
}

.promtra-form__error {
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: var(--promtra-radius-sm);
	background: rgba(248, 113, 113, 0.08);
	border: 1px solid rgba(248, 113, 113, 0.3);
	color: #fca5a5;
	font-size: 13px;
}

.promtra-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.promtra-field__label {
	font-size: 12px;
	font-weight: 500;
	color: var(--promtra-text-soft);
}

.promtra-field__req {
	color: var(--promtra-accent-text);
}

.promtra-field__hint {
	font-size: 11px;
	color: var(--promtra-text-mute);
}

.promtra-input {
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	color: var(--promtra-text);
	border-radius: var(--promtra-radius-sm);
	padding: 9px 12px;
	font-size: 13px;
	font-family: inherit;
	transition: border-color 120ms ease, background 120ms ease;
	width: 100%;
}

.promtra-input::placeholder {
	color: var(--promtra-text-mute);
}

.promtra-input:focus {
	border-color: var(--promtra-accent);
	outline: none;
	background-color: var(--promtra-bg-elev);
}

textarea.promtra-input {
	resize: vertical;
	min-height: 64px;
}

select.promtra-input {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-position: calc(100% - 10px) 50%;
	background-size: 16px 16px;
	background-repeat: no-repeat;
	padding-right: 34px;
}
select.promtra-input:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}

/* ---------- Run info (completed banner) ---------- */
.promtra-runinfo {
	display: flex;
	gap: 24px;
	margin-top: 14px;
	flex-wrap: wrap;
}

.promtra-runinfo__item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.promtra-runinfo__label {
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
}

.promtra-runinfo__value {
	font-size: 13px;
	color: var(--promtra-text);
}

/* ---------- Entry cards (Dashboard) ---------- */
.promtra-entrycards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 14px;
}

.promtra-entrycard {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-lg);
	text-decoration: none;
	color: var(--promtra-text);
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.promtra-entrycard:hover {
	background: var(--promtra-bg-hover);
	border-color: var(--promtra-accent);
	transform: translateY(-1px);
}

.promtra-entrycard__icon {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
	flex-shrink: 0;
}

.promtra-entrycard__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1;
}

.promtra-entrycard__title {
	font-weight: 600;
	font-size: 14px;
	color: var(--promtra-text);
	letter-spacing: -0.005em;
}

.promtra-entrycard__lead {
	font-size: 12px;
	color: var(--promtra-text-soft);
	margin-top: 3px;
}

.promtra-entrycard__arrow {
	color: var(--promtra-text-mute);
	transition: transform 160ms ease, color 160ms ease;
}

.promtra-entrycard:hover .promtra-entrycard__arrow {
	color: var(--promtra-accent-text);
	transform: translateX(2px);
}

/* ---------- Section header ---------- */
.promtra-section {
	margin-bottom: 32px;
}

.promtra-section__head {
	margin-bottom: 14px;
}

.promtra-section__title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--promtra-text);
	letter-spacing: -0.005em;
}

.promtra-section__lead {
	margin: 4px 0 0;
	color: var(--promtra-text-mute);
	font-size: 12px;
}

/* ---------- Cluster cards ---------- */
.promtra-clusters {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 14px;
}

.promtra-clustercard {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 14px;
}

.promtra-clustercard__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.promtra-clustercard__name {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--promtra-text);
}

.promtra-clustercard__count {
	font-size: 11px;
	color: var(--promtra-text-mute);
	background: var(--promtra-bg-elev-2);
	padding: 2px 8px;
	border-radius: 999px;
}

.promtra-clustercard__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.promtra-chip {
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	color: var(--promtra-text-soft);
}

.promtra-chip--more {
	color: var(--promtra-text-mute);
	background: transparent;
	border-style: dashed;
}

/* ---------- Color tones (shared by funnel, badges, chips) ---------- */
.promtra-tone--blue   { --tone: #60a5fa; --tone-soft: rgba(96, 165, 250, 0.16); }
.promtra-tone--green  { --tone: var(--promtra-success); --tone-soft: rgba(52, 211, 153, 0.16); }
.promtra-tone--orange { --tone: var(--promtra-warning); --tone-soft: rgba(251, 191, 36, 0.16); }
.promtra-tone--red    { --tone: var(--promtra-error); --tone-soft: rgba(248, 113, 113, 0.16); }
.promtra-tone--teal   { --tone: #2dd4bf; --tone-soft: rgba(45, 212, 191, 0.16); }
.promtra-tone--purple { --tone: #c084fc; --tone-soft: rgba(192, 132, 252, 0.16); }
.promtra-tone--gray   { --tone: #94a3b8; --tone-soft: rgba(148, 163, 184, 0.16); }

/* ---------- Badge ---------- */
.promtra-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 999px;
	color: var(--tone, var(--promtra-text-soft));
	background: var(--tone-soft, var(--promtra-bg-elev-2));
	border: 1px solid transparent;
	white-space: nowrap;
}

.promtra-badge__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--tone, var(--promtra-text-mute));
}

/* ---------- Funnel ---------- */
.promtra-funnel {
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 12px;
	margin-bottom: 18px;
	align-items: center;
}

.promtra-funnel__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
	border: 1px solid transparent;
	color: var(--promtra-text);
	padding: 8px 14px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	border-radius: 8px;
	min-height: 38px;
	width: 92%;
	transition: width 220ms ease, background 160ms ease, border-color 160ms ease;
	overflow: hidden;
}

.promtra-funnel__stage:nth-child(1) { width: 95%; }
.promtra-funnel__stage:nth-child(2) { width: 86%; }
.promtra-funnel__stage:nth-child(3) { width: 76%; }
.promtra-funnel__stage:nth-child(4) { width: 64%; }
.promtra-funnel__stage:nth-child(5) { width: 52%; }
.promtra-funnel__stage:nth-child(6) { width: 40%; }

.promtra-funnel__bar {
	position: absolute;
	inset: 0;
	background: var(--tone-soft, var(--promtra-bg-elev-2));
	z-index: 0;
	transition: background 160ms ease;
}

.promtra-funnel__label,
.promtra-funnel__count {
	position: relative;
	z-index: 1;
}

.promtra-funnel__count {
	font-variant-numeric: tabular-nums;
	font-size: 12px;
	color: var(--promtra-text-soft);
}

.promtra-funnel__stage:hover {
	border-color: var(--tone, var(--promtra-border));
}

.promtra-funnel__stage[aria-pressed="true"] {
	border-color: var(--tone, var(--promtra-accent));
	box-shadow: inset 0 0 0 1px var(--tone, var(--promtra-accent));
}

.promtra-funnel__stage[aria-pressed="true"] .promtra-funnel__bar {
	background: var(--tone-soft, var(--promtra-accent-soft));
	opacity: 1.4;
}

/* ---------- Toolbar (filters + search) ---------- */
.promtra-toolbar {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 16px;
}

.promtra-toolbar__search {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm);
	padding: 6px 12px;
	color: var(--promtra-text-mute);
	max-width: 380px;
}

.promtra-input--bare {
	background: transparent;
	border: none;
	padding: 4px 0;
	font-size: 13px;
	color: var(--promtra-text);
	width: 100%;
}

.promtra-input--bare:focus {
	outline: none;
}

.promtra-toolbar__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.promtra-filterchip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: inherit;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	color: var(--promtra-text-soft);
	cursor: pointer;
	transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.promtra-filterchip:hover {
	color: var(--promtra-text);
	border-color: var(--promtra-accent);
}

.promtra-filterchip.is-active {
	color: var(--tone, var(--promtra-accent-text));
	border-color: var(--tone, var(--promtra-accent));
	background: var(--tone-soft, var(--promtra-accent-soft));
}

.promtra-filterchip__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--tone, var(--promtra-text-mute));
}

.promtra-filterchip__count {
	color: var(--promtra-text-mute);
	font-variant-numeric: tabular-nums;
}

.promtra-filterchip.is-active .promtra-filterchip__count {
	color: inherit;
}

/* ---------- Personas: master/detail ---------- */
.promtra-personasplit {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 16px;
	align-items: start;
}

.promtra-personalist {
	position: sticky;
	top: calc(var(--promtra-topbar-h) + 12px);
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 6px;
	max-height: calc(100vh - var(--promtra-topbar-h) - 40px);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.promtra-personalist__item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	background: transparent;
	border: 1px solid transparent;
	color: var(--promtra-text-soft);
	padding: 8px 10px;
	border-radius: var(--promtra-radius-sm);
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.promtra-personalist__item:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-personalist__item.is-active {
	background: var(--promtra-accent-soft);
	color: var(--promtra-text);
	border-color: var(--promtra-accent);
}

.promtra-personalist__avatar {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 600;
	font-size: 13px;
	flex-shrink: 0;
	background-size: cover;
	background-position: center;
}

.promtra-personalist__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.promtra-personalist__name {
	font-size: 13px;
	font-weight: 600;
	color: var(--promtra-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promtra-personalist__title {
	font-size: 11px;
	color: var(--promtra-text-mute);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promtra-personadetail {
	min-width: 0;
}

.promtra-personapanel {
	display: none;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-lg);
	padding: 22px;
	flex-direction: column;
	gap: 16px;
}

.promtra-personapanel.is-active {
	display: flex;
}

.promtra-personapanel__head {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.promtra-personapanel__avatar {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 600;
	font-size: 20px;
	background-size: cover;
	background-position: center;
}

.promtra-personapanel__heading {
	flex: 1;
	min-width: 0;
}

.promtra-personapanel__name {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--promtra-text);
	letter-spacing: -0.01em;
}

.promtra-personapanel__title {
	font-size: 13px;
	color: var(--promtra-text-mute);
	margin-top: 2px;
}

.promtra-personapanel__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.promtra-personapanel__quote {
	margin: 0;
	padding: 12px 14px;
	border-left: 3px solid var(--promtra-accent);
	color: var(--promtra-text-soft);
	font-style: italic;
	font-size: 14px;
	background: var(--promtra-bg-elev-2);
	border-radius: 8px;
}

.promtra-personapanel__desc {
	margin: 0;
	color: var(--promtra-text-soft);
	font-size: 13px;
}

.promtra-personapanel__blocks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

.promtra-personapanel__block {
	border-top: 1px solid var(--promtra-border-soft);
	padding-top: 12px;
}

.promtra-personapanel__blocklabel {
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	margin-bottom: 4px;
}

.promtra-personapanel__list {
	margin: 0;
	padding-left: 16px;
	font-size: 13px;
	color: var(--promtra-text-soft);
}

.promtra-personapanel__list li {
	margin-bottom: 2px;
}

.promtra-personaform {
	display: flex;
	flex-direction: column;
}

.promtra-personaform__foot {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 8px;
}

/* When editing, hide the read-only blocks */
.promtra-personapanel.is-editing .promtra-personapanel__quote,
.promtra-personapanel.is-editing .promtra-personapanel__desc,
.promtra-personapanel.is-editing .promtra-personapanel__blocks {
	display: none;
}

.promtra-personapanel.is-editing .promtra-personaform {
	display: flex !important;
}

/* ---------- Sitemap ---------- */
.promtra-sitemap-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: end;
	margin-bottom: 18px;
}

.promtra-form__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--promtra-border-soft);
}

.promtra-sitemap-form__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.promtra-field--inline {
	flex-direction: row;
	align-items: center;
	gap: 8px;
	margin: 0;
	cursor: pointer;
}

.promtra-sitemap-result {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 16px;
}

.promtra-sitemap-result__meta {
	margin: 0 0 6px;
	color: var(--promtra-text-soft);
	font-size: 13px;
}

.promtra-sitemap-result__hint {
	margin: 0 0 12px;
	color: var(--promtra-text-mute);
	font-size: 12px;
}

.promtra-urllist {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	max-height: 420px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

.promtra-urllist li {
	padding: 6px 0;
	border-bottom: 1px solid var(--promtra-border-soft);
	font-size: 12px;
	color: var(--promtra-text-soft);
	word-break: break-all;
}

.promtra-urllist li:last-child {
	border-bottom: none;
}

.promtra-urllist a {
	color: inherit;
	text-decoration: none;
}

.promtra-urllist a:hover {
	color: var(--promtra-accent-text);
	text-decoration: underline;
}

/* ---------- Sitemap tree view ---------- */

/* KPI bar */
.promtra-smap-kpi {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	margin-bottom: 14px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 2px;
}

.promtra-smap-kpi__item {
	flex: 1;
	min-width: 100px;
	padding: 12px 18px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.promtra-smap-kpi__value {
	font-size: 20px;
	font-weight: 600;
	color: var(--promtra-text);
	line-height: 1;
}

.promtra-smap-kpi__label {
	font-size: 11px;
	color: var(--promtra-text-mute);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Search bar */
.promtra-smap-searchbar {
	margin-bottom: 12px;
}

.promtra-smap-searchbar__label {
	width: 100%;
	max-width: 420px;
}

/* Main workspace: tree + detail panel side-by-side */
.promtra-smap-workspace {
	display: grid;
	grid-template-columns: 320px 1fr;
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	overflow: hidden;
	background: var(--promtra-bg-elev);
	min-height: 380px;
}

/* Tree panel */
.promtra-smap-tree-wrap {
	overflow-y: auto;
	max-height: 580px;
	border-right: 1px solid var(--promtra-border);
	padding: 8px 0;
}

.promtra-smap-tree__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.promtra-smap-tree__list--root {
	padding: 0;
}

.promtra-smap-node__row {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	cursor: pointer;
	user-select: none;
	transition: background 0.1s;
	min-height: 32px;
}

.promtra-smap-node__row:hover {
	background: var(--promtra-bg-hover);
}

.promtra-smap-node--active > .promtra-smap-node__row {
	background: var(--promtra-accent-soft);
}

.promtra-smap-node--active > .promtra-smap-node__row .promtra-smap-node__label {
	color: var(--promtra-accent-text);
}

.promtra-smap-node--active > .promtra-smap-node__row .promtra-smap-node__icon {
	color: var(--promtra-accent-text);
}

.promtra-smap-node__toggle {
	background: none;
	border: none;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--promtra-text-mute);
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	border-radius: 3px;
}

.promtra-smap-node__toggle:hover {
	color: var(--promtra-text);
	background: var(--promtra-border);
}

.promtra-smap-node__spacer {
	display: inline-block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.promtra-smap-node__icon {
	display: flex;
	align-items: center;
	color: var(--promtra-text-mute);
	flex-shrink: 0;
}

.promtra-smap-node--branch > .promtra-smap-node__row .promtra-smap-node__icon {
	color: var(--promtra-accent);
	opacity: 0.7;
}

.promtra-smap-node__label {
	font-size: 13px;
	color: var(--promtra-text-soft);
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promtra-smap-node--branch > .promtra-smap-node__row .promtra-smap-node__label {
	font-weight: 500;
	color: var(--promtra-text);
}

.promtra-smap-node__badge {
	font-size: 11px;
	color: var(--promtra-text-mute);
	background: var(--promtra-bg-hover);
	padding: 1px 7px;
	border-radius: 20px;
	flex-shrink: 0;
}

.promtra-smap-node--active > .promtra-smap-node__row .promtra-smap-node__badge {
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
}

.promtra-smap-tree__meta {
	font-size: 11px;
	color: var(--promtra-text-mute);
	padding: 8px 14px 6px;
	margin: 0;
	border-top: 1px solid var(--promtra-border-soft);
}

.promtra-smap-tree__empty {
	padding: 16px 14px;
	font-size: 13px;
	margin: 0;
}

/* Detail panel */
.promtra-smap-detail {
	padding: 22px 24px;
	overflow-y: auto;
	max-height: 580px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.promtra-smap-detail__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 100%;
	min-height: 160px;
	color: var(--promtra-text-mute);
	text-align: center;
}

.promtra-smap-detail__placeholder p {
	margin: 0;
	font-size: 13px;
}

.promtra-smap-detail__section {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.promtra-smap-detail__title {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--promtra-text-mute);
	font-weight: 600;
}

.promtra-smap-detail__heading {
	font-size: 15px;
	font-weight: 600;
	color: var(--promtra-text);
	word-break: break-all;
}

.promtra-smap-detail__rows {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 5px 14px;
	margin: 0;
}

.promtra-smap-detail__rows dt {
	color: var(--promtra-text-mute);
	font-size: 12px;
	white-space: nowrap;
	padding-top: 1px;
}

.promtra-smap-detail__rows dd {
	color: var(--promtra-text-soft);
	font-size: 13px;
	margin: 0;
	word-break: break-all;
}

.promtra-smap-detail__notice {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	font-size: 11px;
	color: var(--promtra-text-mute);
	background: var(--promtra-bg-hover);
	border-radius: var(--promtra-radius-sm);
	padding: 8px 12px;
	margin: 0;
	line-height: 1.5;
}

.promtra-smap-detail__url-link {
	word-break: break-all;
}

/* Loading spinner */
.promtra-smap-spinner {
	animation: promtra-spin 1.1s linear infinite;
	display: inline-flex;
}

@keyframes promtra-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

/* Limit / info notice above tree */
.promtra-smap-notice {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: var(--promtra-text-mute);
	padding: 8px 14px;
	border-bottom: 1px solid var(--promtra-border-soft);
	margin: 0;
}

/* Responsive: stack tree above detail on small screens */
@media (max-width: 760px) {
	.promtra-smap-workspace {
		grid-template-columns: 1fr;
	}
	.promtra-smap-tree-wrap {
		border-right: none;
		border-bottom: 1px solid var(--promtra-border);
		max-height: 320px;
	}
	.promtra-smap-kpi__item {
		min-width: 80px;
		padding: 10px 12px;
	}
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.promtra-app {
		--promtra-sidebar-w: 232px;
	}
}

@media (max-width: 880px) {
	.promtra-layout {
		grid-template-columns: 1fr;
	}

	.promtra-sidebar {
		position: static;
		height: auto;
		border-right: none;
		border-bottom: 1px solid var(--promtra-border);
	}

	.promtra-topbar {
		grid-template-columns: 1fr auto;
	}

	.promtra-topbar__left {
		border-right: none;
		padding: 0 16px;
	}

	.promtra-topbar__center {
		display: none;
	}

	.promtra-filterbar {
		padding: 8px 16px;
	}

	.promtra-main__inner {
		padding: 20px 16px 40px;
	}
}

@media (max-width: 880px) {
	.promtra-personasplit {
		grid-template-columns: 1fr;
	}
	.promtra-personalist {
		position: static;
		max-height: none;
		flex-direction: row;
		overflow-x: auto;
	}
	.promtra-personalist__item {
		flex-shrink: 0;
		min-width: 200px;
	}
}

@media (max-width: 720px) {
	.promtra-form__row {
		grid-template-columns: 1fr;
	}
	.promtra-sitemap-form {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.promtra-account__label {
		display: none;
	}

	.promtra-btn--primary span {
		display: none;
	}

	.promtra-page__title {
		font-size: 20px;
	}
}

/* ============================================================
 * Extensions: Brand Knowledge, Keyword Network, Personas,
 * Brand Keywords improvements.
 * ============================================================ */

/* ---------- Tooltip ---------- */
#promtra-tip {
	position: fixed;
	z-index: 9998;
	max-width: 320px;
	padding: 8px 12px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm);
	color: var(--promtra-text-soft);
	font-size: 12px;
	line-height: 1.5;
	pointer-events: none;
	box-shadow: 0 4px 16px rgba(0,0,0,0.35);
	opacity: 0;
	transition: opacity 120ms ease;
	white-space: pre-line;
}

#promtra-tip.is-visible {
	opacity: 1;
}

/* ---------- View toggle (network/list) ---------- */
.promtra-section__head--flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.promtra-viewtoggle {
	display: inline-flex;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm);
	padding: 3px;
	gap: 2px;
	flex-shrink: 0;
}

.promtra-viewtoggle__btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 10px;
	border-radius: calc(var(--promtra-radius-sm) - 2px);
	background: transparent;
	border: none;
	color: var(--promtra-text-soft);
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	transition: background 120ms ease, color 120ms ease;
}

.promtra-viewtoggle__btn:hover {
	color: var(--promtra-text);
}

.promtra-viewtoggle__btn.is-active {
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
}


/* ---------- Brand profile cards (bcard) ---------- */
.promtra-bcard {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 16px 18px 14px;
	box-shadow: var(--promtra-shadow);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.promtra-bcard__head {
	display: flex;
	align-items: center;
	gap: 8px;
}

.promtra-bcard__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 7px;
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
	flex-shrink: 0;
}

.promtra-bcard__icon--green  { background: rgba(52, 211, 153, 0.14); color: var(--promtra-success); }
.promtra-bcard__icon--orange { background: rgba(251,191,36, 0.14);   color: var(--promtra-warning); }
.promtra-bcard__icon--mute   { background: var(--promtra-bg-elev-2);    color: var(--promtra-text-mute); }
.promtra-bcard__icon--accent { background: var(--promtra-accent-soft);  color: var(--promtra-accent-text); }

.promtra-bcard__title {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--promtra-text);
	letter-spacing: -0.005em;
}

.promtra-bcard__body {
	color: var(--promtra-text-soft);
	font-size: 13px;
	overflow: hidden;
	transition: max-height 280ms ease;
	position: relative;
}

.promtra-bcard__body p { margin: 0; }

.promtra-bcard__body.is-collapsed::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 36px;
	background: linear-gradient(to bottom, transparent, var(--promtra-bg-elev));
	pointer-events: none;
}

.promtra-bcard__toggle {
	align-self: flex-start;
	background: transparent;
	border: none;
	color: var(--promtra-accent-text);
	font-size: 12px;
	font-family: inherit;
	cursor: pointer;
	padding: 0;
	font-weight: 500;
}

.promtra-bcard__toggle:hover {
	text-decoration: underline;
}

/* ---------- Mini funnel SVG (table cells + header filter) ---------- */
.promtra-funnel-mini {
	display: block;
	width: 22px;
	height: 16px;
	overflow: visible;
}

.promtra-funnel-mini__bar {
	fill: var(--promtra-border);
}

.promtra-funnel-mini__bar--active {
	fill: var(--promtra-text-soft);
}

/* Header filter: clickable segments */
.promtra-funnel-mini--filter {
	cursor: default;
}

.promtra-funnel-seg {
	fill: var(--promtra-border);
	cursor: pointer;
	transition: fill 0.15s ease;
	outline: none;
}

.promtra-funnel-seg:hover {
	fill: var(--promtra-text-mute);
}

.promtra-funnel-seg:focus-visible {
	outline: 2px solid var(--promtra-accent);
	outline-offset: 2px;
}

.promtra-funnel-seg[aria-pressed="true"] {
	fill: var(--promtra-text-soft);
}

/* Cell wrapper in body rows */
.promtra-funnel-cell {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: default;
}

/* ---------- Toolbar improvements ---------- */
.promtra-toolbar__toprow {
	display: flex;
	align-items: center;
	gap: 10px;
}

.promtra-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
}

.promtra-toolbar__chiplabel {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	white-space: nowrap;
}

.promtra-btn--sm {
	padding: 6px 10px;
	font-size: 12px;
}

/* ---------- Intent letter badge (SEMrush-style) ---------- */
.promtra-intentletter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--tone-soft, var(--promtra-bg-elev-2));
	color: var(--tone, var(--promtra-text-mute));
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0;
	cursor: default;
}

/* ---------- Funnel pill (TOFU/MOFU/BOFU) ---------- */
.promtra-funnelpill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--tone-soft, var(--promtra-bg-elev-2));
	color: var(--tone, var(--promtra-text-mute));
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: default;
	white-space: nowrap;
}

/* ---------- Column widths ---------- */
.promtra-col-badge {
	width: 64px;
	text-align: center;
}

.promtra-col-funnel {
	width: 90px;
	text-align: right;
	vertical-align: middle;
}

.promtra-col-funnel__inner {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}

.promtra-col-funnel__label {
	font-size: inherit;
}

/* ---------- Relevance dot ---------- */
.promtra-relevance-cell {
	white-space: nowrap;
	text-align: right;
}

.promtra-reldot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin-right: 6px;
	cursor: default;
	flex-shrink: 0;
}

.promtra-reldot--high  { background: var(--promtra-success); }
.promtra-reldot--mid   { background: var(--promtra-warning); }
.promtra-reldot--low   { background: var(--promtra-error); }

/* ---------- Persona quote box ---------- */
.promtra-quotebox {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	border-left: 3px solid var(--promtra-accent);
	border-radius: 10px;
}

.promtra-quotebox__mark {
	color: var(--promtra-accent);
	flex-shrink: 0;
	margin-top: 1px;
	opacity: 0.7;
}

.promtra-quotebox__text {
	font-style: italic;
	font-size: 14px;
	line-height: 1.6;
	color: var(--promtra-text-soft);
	letter-spacing: 0.01em;
}

/* ---------- Persona block label with icon ---------- */
.promtra-personapanel__blocklabel {
	display: flex;
	align-items: center;
	gap: 5px;
}

/* ---------- Cluster card enhancements ---------- */
.promtra-clustercard--hidden {
	display: none;
}

.promtra-clustercard__meta {
	display: flex;
	align-items: center;
	gap: 8px;
}

.promtra-clustercard__rel {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 11px;
	color: var(--promtra-text-mute);
	font-variant-numeric: tabular-nums;
}

.promtra-clusters__foot {
	margin-top: 12px;
	display: flex;
	justify-content: center;
}

/* ---------- Volume refresh: small icon in column header ---------- */
@keyframes promtra-spin {
	to { transform: rotate(360deg); }
}

.promtra-col-volume {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.promtra-volume-refresh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid var(--promtra-border);
	background: transparent;
	color: var(--promtra-text-mute);
	cursor: pointer;
	flex-shrink: 0;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.promtra-volume-refresh-btn:hover {
	color: var(--promtra-text);
	border-color: var(--promtra-border);
	background: var(--promtra-bg-hover);
}

.promtra-volume-refresh-btn.is-spinning {
	pointer-events: none;
	opacity: 0.7;
}

.promtra-volume-refresh-btn.is-spinning .promtra-icon {
	animation: promtra-spin 0.8s linear infinite;
}

/* ---------- Rerun modal ---------- */
.promtra-modal__body {
	padding: 20px 24px;
}

.promtra-rerun-modal__lead {
	margin: 0 0 16px;
	color: var(--promtra-text-soft);
	font-size: 13px;
}

.promtra-rerun-modal__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.promtra-rerun-modal__col {
	padding: 14px 16px;
	border-radius: var(--promtra-radius-sm);
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
}

.promtra-rerun-modal__col--safe {
	border-left: 3px solid var(--promtra-success);
}

.promtra-rerun-modal__col--overwrite {
	border-left: 3px solid var(--promtra-warning);
}

.promtra-rerun-modal__col-head {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	color: var(--promtra-text);
	margin-bottom: 10px;
}

.promtra-rerun-modal__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.promtra-rerun-modal__col ul li {
	font-size: 12px;
	color: var(--promtra-text-soft);
	padding: 3px 0;
	border-bottom: 1px solid var(--promtra-border-soft);
}

.promtra-rerun-modal__col ul li:last-child {
	border-bottom: none;
}

@media (max-width: 720px) {
	.promtra-rerun-modal__cols {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
 * Prompt Research
 * ============================================================ */

.promtra-badge--xs {
	font-size: 10px;
	padding: 2px 7px;
}

/* Loading bar */
.promtra-pr-loading {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 20px 22px;
	margin-bottom: 18px;
}

.promtra-pr-loading__msg {
	margin: 0;
	font-size: 13px;
	color: var(--promtra-text-soft);
}

/* Success / notice */
.promtra-pr-notice {
	padding: 10px 14px;
	border-radius: var(--promtra-radius-sm);
	font-size: 13px;
	margin-bottom: 14px;
}

.promtra-pr-notice--success {
	background: rgba(52, 211, 153, 0.08);
	border: 1px solid rgba(52, 211, 153, 0.3);
	color: var(--promtra-success);
}

/* Empty state extra actions */
.promtra-pr-empty-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 4px;
}

/* Toolbar */
.promtra-pr-toolbar {
	margin-bottom: 14px;
}

.promtra-pr-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.promtra-pr-filters .promtra-input {
	width: auto;
	min-width: 130px;
	flex: 1 1 130px;
	max-width: 200px;
	font-size: 12px;
	padding: 7px 10px;
	padding-right: 28px;
}

/* Table columns */
.promtra-pr-kw-cell {
	width: 180px;
	max-width: 180px;
	overflow: hidden;
}

.promtra-pr-prompt-cell {
	min-width: 220px;
	max-width: 0; /* lets the cell shrink to flex space */
}

.promtra-pr-prompt-inner {
	display: flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
}

.promtra-pr-prompt-text {
	display: block;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.45;
}

.promtra-pr-kw {
	font-weight: 500;
	color: var(--promtra-text);
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
}

.promtra-pr-reason {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	color: var(--promtra-text-mute);
	cursor: default;
}

/* ---------- Multi-select filter ---------- */
.promtra-ms {
	position: relative;
	flex-shrink: 0;
}

.promtra-ms__trigger {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 150px;
	max-width: 240px;
	width: 100%;
	padding: 6px 10px;
	height: 34px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm);
	color: var(--promtra-text-soft);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
	text-align: left;
	transition: border-color 0.15s ease;
}

.promtra-pr-filters .promtra-ms {
	flex: 1 0 165px;
	max-width: none;
}

.promtra-pr-filters .promtra-ms__trigger {
	width: 100%;
	max-width: none;
	min-width: 0;
}

.promtra-ms__trigger:hover,
.promtra-ms.is-open .promtra-ms__trigger {
	border-color: var(--promtra-accent);
	color: var(--promtra-text);
}

.promtra-ms__label {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.promtra-ms__tags {
	display: flex;
	gap: 3px;
	flex: 1;
	overflow: hidden;
	min-width: 0;
}

.promtra-ms__tag {
	background: var(--promtra-accent-soft);
	color: var(--promtra-accent-text);
	padding: 1px 6px;
	border-radius: 10px;
	font-size: 11px;
	white-space: nowrap;
	max-width: 72px;
	overflow: hidden;
	text-overflow: ellipsis;
	flex-shrink: 0;
}

.promtra-ms__chev {
	margin-left: auto;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	will-change: transform;
	transition: transform 0.15s ease;
}

.promtra-ms.is-open .promtra-ms__chev {
	transform: rotate(180deg);
}

.promtra-ms__panel {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	min-width: 180px;
	max-height: 240px;
	overflow-y: auto;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm);
	box-shadow: 0 4px 16px rgba(0,0,0,0.3);
	z-index: 200;
}

.promtra-ms__item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px;
	cursor: pointer;
	font-size: 13px;
	color: var(--promtra-text-soft);
	transition: background 0.1s ease;
	user-select: none;
}

.promtra-ms__item:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}

.promtra-ms__chk {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	accent-color: var(--promtra-accent);
	cursor: pointer;
}

.promtra-pr-col-vol {
	min-width: 68px;
	width: 72px;
	vertical-align: middle;
}

.promtra-pr-col-kwvol {
	min-width: 62px;
	width: 72px;
}

.promtra-rel-wrap {
	display: inline-flex;
	align-items: center;
	cursor: default;
}
.promtra-rel-bars {
	display: block;
	overflow: visible;
	pointer-events: none;
}

/* Active filter chips (shown below filter row) */
.promtra-pr-activetags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.promtra-pr-chip {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: var(--promtra-accent-soft);
	border: 1px solid rgba(139, 120, 255, 0.25);
	border-radius: 20px;
	padding: 3px 6px 3px 10px;
	font-size: 12px;
	color: var(--promtra-accent-text);
	white-space: nowrap;
	line-height: 1.4;
}

.promtra-pr-chip__rm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	color: inherit;
	cursor: pointer;
	font-size: 15px;
	line-height: 1;
	padding: 0 2px;
	opacity: 0.6;
	font-family: inherit;
}

.promtra-pr-chip__rm:hover {
	opacity: 1;
}

.promtra-pr-col-actions,
.promtra-col-actions {
	width: 72px;
	white-space: nowrap;
}
.promtra-btn--danger-hover:hover {
	color: var(--promtra-error);
	border-color: rgba(248, 113, 113, 0.4);
	background: rgba(248, 113, 113, 0.08);
}

/* Action buttons in table */
.promtra-pr-add-btn:hover {
	color: var(--promtra-success);
	border-color: rgba(52, 211, 153, 0.4);
	background: rgba(52, 211, 153, 0.08);
}

.promtra-pr-discard-btn:hover {
	color: var(--promtra-error);
	border-color: rgba(248, 113, 113, 0.4);
	background: rgba(248, 113, 113, 0.08);
}

.promtra-pr-added-btn {
	color: var(--promtra-success) !important;
	opacity: 0.7;
}

/* Sortable column header */
.promtra-th--sortable {
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}
.promtra-th--sortable:hover {
	color: var(--promtra-text);
}
.promtra-sort-icon {
	display: inline-block;
	margin-left: 4px;
	font-size: 10px;
	color: inherit;
	opacity: 0.45;
}
.promtra-sort-icon::after {
	content: '⇅';
}
.promtra-th--sort-asc .promtra-sort-icon {
	opacity: 1;
	color: inherit;
}
.promtra-th--sort-asc .promtra-sort-icon::after {
	content: '↑';
}
.promtra-th--sort-desc .promtra-sort-icon {
	opacity: 1;
	color: inherit;
}
.promtra-th--sort-desc .promtra-sort-icon::after {
	content: '↓';
}

/* Checkbox column */
.promtra-pr-col-check {
	width: 36px;
	min-width: 36px;
	padding: 0 6px;
	text-align: center;
	vertical-align: middle;
}
.promtra-pr-chk,
.promtra-pr-selectall {
	width: 15px;
	height: 15px;
	cursor: pointer;
	accent-color: var(--promtra-accent);
	flex-shrink: 0;
}

/* Bulk action bar */
.promtra-pr-bulkbar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: 8px;
	margin-bottom: 10px;
}
.promtra-pr-bulkbar__count {
	font-size: 13px;
	font-weight: 500;
	color: var(--promtra-text-soft);
	white-space: nowrap;
}
.promtra-pr-bulkbar__actions {
	display: flex;
	gap: 8px;
	margin-left: auto;
	flex-wrap: wrap;
}

/* Load-more button */
.promtra-pr-loadmore {
	text-align: center;
	padding: 14px 0 4px;
}

/* Danger button */
.promtra-btn--danger {
	background: rgba(248, 113, 113, 0.12);
	border-color: rgba(248, 113, 113, 0.4);
	color: var(--promtra-error);
}

.promtra-btn--danger:hover {
	background: rgba(248, 113, 113, 0.22);
}

/* Small modal */
.promtra-modal__dialog--sm {
	max-width: 460px;
}

/* Tracker preview */
.promtra-pr-tracker-prompt-preview {
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	border-radius: var(--promtra-radius-sm);
	padding: 12px 14px;
	font-size: 13px;
	color: var(--promtra-text-soft);
	font-style: italic;
	margin-bottom: 16px;
}

/* Discard preview */
.promtra-pr-discard-msg {
	margin: 0 0 10px;
	color: var(--promtra-text-soft);
	font-size: 13px;
}

.promtra-pr-discard-preview {
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	border-radius: var(--promtra-radius-sm);
	padding: 10px 14px;
	font-size: 13px;
	color: var(--promtra-text-soft);
	font-style: italic;
}

/* Toggle switch */
.promtra-field--toggle {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.promtra-pr-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	gap: 10px;
}

.promtra-pr-toggle input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.promtra-pr-toggle__track {
	width: 40px;
	height: 22px;
	border-radius: 999px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	flex-shrink: 0;
	transition: background 160ms ease, border-color 160ms ease;
}

.promtra-pr-toggle input:checked ~ .promtra-pr-toggle__track {
	background: var(--promtra-accent);
	border-color: transparent;
}

.promtra-pr-toggle__thumb {
	position: absolute;
	left: 3px;
	top: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--promtra-text-mute);
	transition: transform 160ms ease, background 160ms ease;
}

.promtra-pr-toggle input:checked ~ .promtra-pr-toggle__thumb {
	transform: translateX(18px);
	background: #fff;
}

/* Loading progress meta row */
.promtra-pr-loading__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
}

.promtra-pr-loading__pct {
	font-size: 12px;
	font-weight: 600;
	color: var(--promtra-accent-text);
	font-variant-numeric: tabular-nums;
	flex-shrink: 0;
}

/* Spinning icon on generate button while loading */
@keyframes promtra-pr-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

[data-promtra-pr-action="generate"].promtra-pr-generating .promtra-icon {
	animation: promtra-pr-spin 0.9s linear infinite;
	display: inline-flex;
}

/* KPI cards — compact stat */
.promtra-pr-kpicards .promtra-stat {
	font-size: 28px;
	margin-bottom: 2px;
}

/* Responsive */
@media (max-width: 760px) {
	.promtra-pr-filters .promtra-input {
		max-width: none;
		flex: 1 1 140px;
	}
	.promtra-pr-kw-cell,
	.promtra-pr-prompt-cell {
		min-width: 100px;
	}
}

/* ============================================================
   Prompt Tracker
   ============================================================ */

/* Token usage bar in KPI card */
.promtra-stat--sm {
	font-size: 16px !important;
	font-weight: 600;
	word-break: break-all;
}
.promtra-stat__denom {
	font-size: 14px;
	color: var(--promtra-text-mute);
	font-weight: 400;
	margin-left: 3px;
}
.promtra-tr-tokenbar {
	margin-top: 8px;
	height: 6px;
	background: var(--promtra-border);
	border-radius: 4px;
	overflow: hidden;
}
.promtra-tr-tokenbar__fill {
	height: 100%;
	background: var(--promtra-accent);
	border-radius: 4px;
	transition: width 0.4s ease;
	min-width: 0;
}

/* Tracker table columns */
.promtra-tr-table {
	table-layout: auto;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}
.promtra-tr-table .promtra-tr-prompt-cell {
	width: 420px;
	max-width: 420px;
	min-width: 200px;
	overflow: hidden;
}

/* Sticky checkbox + prompt columns (freeze pane) */
.promtra-tr-table th.promtra-pr-col-check,
.promtra-tr-table th.promtra-tr-col-prompt {
	position: sticky;
	z-index: 2;
	background: var(--promtra-bg-elev-2);
}
.promtra-tr-table th.promtra-pr-col-check { left: 0; }
.promtra-tr-table th.promtra-tr-col-prompt { left: 36px; }

.promtra-tr-table td.promtra-pr-col-check,
.promtra-tr-table td.promtra-tr-prompt-cell {
	position: sticky;
	z-index: 1;
	background: var(--promtra-bg-elev);
}
.promtra-tr-table td.promtra-pr-col-check { left: 0; }
.promtra-tr-table td.promtra-tr-prompt-cell { left: 36px; }

.promtra-tr-table tr:hover td.promtra-pr-col-check,
.promtra-tr-table tr:hover td.promtra-tr-prompt-cell {
	background: var(--promtra-bg-hover);
}

.promtra-tr-table th.promtra-tr-col-prompt,
.promtra-tr-table td.promtra-tr-prompt-cell {
	border-right: 1px solid var(--promtra-border);
}
.promtra-tr-prompt-wrap {
	display: flex;
	flex-direction: column;
	gap: 5px;
	overflow: hidden;
	min-width: 0;
}
.promtra-tr-prompt-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}
.promtra-tr-col-entities,
.promtra-tr-col-brands {
	width: 55px;
	white-space: nowrap;
	color: var(--promtra-text-mute);
	font-size: 12px;
}
.promtra-tr-col-ai {
	width: 75px;
	white-space: nowrap;
	text-align: center;
}
.promtra-tr-col-vis,
.promtra-tr-col-str {
	width: 72px;
	white-space: nowrap;
}
.promtra-tr-vis-placeholder {
	font-size: 13px;
	color: var(--promtra-text-mute);
}

/* CSV drop zone */
.promtra-tr-csv-drop {
	border: 2px dashed var(--promtra-border);
	border-radius: 10px;
	padding: 28px 20px;
	text-align: center;
	transition: border-color 0.2s, background 0.2s;
}
.promtra-tr-csv-drop.is-over {
	border-color: var(--promtra-accent);
	background: var(--promtra-accent-soft);
}
.promtra-tr-csv-drop__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--promtra-text-mute);
}
.promtra-tr-csv-drop__inner .promtra-icon {
	opacity: 0.4;
}
.promtra-tr-csv-drop__inner p {
	font-size: 13px;
	margin: 0;
}
.promtra-tr-csv-filename {
	font-size: 12px;
	color: var(--promtra-text-soft);
	font-weight: 500;
}

/* Edit modal prompt preview */
.promtra-tr-edit-preview {
	font-size: 13px;
	color: var(--promtra-text-soft);
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	border-radius: 8px;
	padding: 10px 14px;
	margin: 16px 24px 0;
	line-height: 1.5;
}

/* ===== Tracking Run Progress ===== */
.promtra-tr-tracking-progress {
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	border-radius: 8px;
	padding: 10px 16px;
	margin-bottom: 8px;
}
.promtra-tr-tracking-progress__inner {
	display: flex;
	align-items: center;
	gap: 12px;
}
.promtra-tr-tracking-progress__label {
	font-size: 12px;
	color: var(--promtra-text-soft);
	white-space: nowrap;
	min-width: 160px;
}

/* ===== Visibility column badges ===== */
.promtra-tr-vis {
	font-size: 12px;
	font-weight: 600;
	cursor: default;
}
.promtra-tr-vis--yes {
	color: var(--promtra-success);
}
.promtra-tr-vis--mid {
	color: #fb923c;
}
.promtra-tr-vis--no {
	color: var(--promtra-error);
}

/* ===== Clickable tracker rows ===== */
.promtra-tr-clickable-row {
	cursor: pointer;
}
.promtra-tr-clickable-row:hover td {
	background: var(--promtra-bg-hover);
}

/* ===== Row loading state ===== */
.promtra-tr-row--loading {
	opacity: 0.4;
	pointer-events: none;
	animation: promtra-row-fade 1.8s ease-in-out infinite;
}
@keyframes promtra-row-fade {
	0%, 100% { opacity: 0.4; }
	50%       { opacity: 0.65; }
}

/* ===== Sources (Quellen) overlapping bubbles ===== */
.promtra-tr-src-bubbles {
	display: flex;
	align-items: center;
}
.promtra-tr-src-bubble {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--promtra-border);
	border-radius: 50%;
	background: var(--promtra-bg-elev-2);
	flex-shrink: 0;
	cursor: default;
	margin-left: -6px;
	position: relative;
}
.promtra-tr-src-bubbles .promtra-tr-src-bubble:nth-child(1) { margin-left: 0; z-index: 4; }
.promtra-tr-src-bubbles .promtra-tr-src-bubble:nth-child(2) { z-index: 3; }
.promtra-tr-src-bubbles .promtra-tr-src-bubble:nth-child(3) { z-index: 2; }
.promtra-tr-src-bubbles .promtra-tr-src-bubble:nth-child(4) { z-index: 1; }
.promtra-tr-src-bubble--more {
	font-size: 11px;
	color: var(--promtra-text-mute);
	border: none;
	background: transparent;
	border-radius: 0;
	width: auto;
	margin-left: 4px;
	position: static;
}

/* ===== Entity "+N" hint ===== */
.promtra-tr-more-hint {
	font-size: 11px;
	color: var(--promtra-text-mute);
	margin-left: 4px;
}

/* ===== Sources column width ===== */
.promtra-tr-col-sources {
	width: 55px;
	white-space: nowrap;
}
.promtra-tr-table .promtra-col-funnel {
	width: 55px;
	white-space: nowrap;
}
.promtra-tr-table .promtra-pr-col-actions {
	width: 108px;
	white-space: nowrap;
	text-align: right;
}

/* ===== AI system bubbles in table column ===== */
.promtra-tr-ai-bubbles {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	align-items: center;
	justify-content: flex-start;
}
.promtra-tr-ai-bubble {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--promtra-border);
	border-radius: 50%;
	background: var(--promtra-bg-elev-2);
	flex-shrink: 0;
	cursor: default;
}
.promtra-tr-ai-bubble--text {
	font-size: 10px;
	font-weight: 600;
	color: var(--promtra-text-soft);
}
.promtra-tr-ai-bubble--more {
	font-size: 10px;
	font-weight: 600;
	color: var(--promtra-text-mute);
	border-style: dashed;
}
.promtra-tr-ai-img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	display: block;
}

/* ===== AI checkbox group in modals ===== */
.promtra-ai-check-group {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.promtra-ai-check-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid var(--promtra-border);
	border-radius: 20px;
	cursor: pointer;
	font-size: 13px;
	color: var(--promtra-text-soft);
	background: var(--promtra-bg-elev-2);
	transition: border-color 0.15s, background 0.15s;
	user-select: none;
}
.promtra-ai-check-item:has(input:checked) {
	border-color: var(--promtra-accent);
	background: var(--promtra-accent-soft);
	color: var(--promtra-text);
}
.promtra-ai-check-item input[type="checkbox"] {
	display: none;
}
.promtra-ai-check-img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	display: block;
}

/* Legacy logo (kept for other pages) */
.promtra-tr-ai-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ===== Brand favicon list ===== */
.promtra-tr-fav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}
.promtra-tr-brand-fav {
	display: inline-flex;
	align-items: center;
	cursor: default;
}
.promtra-tr-favicon {
	width: 16px;
	height: 16px;
	object-fit: contain;
	border-radius: 2px;
	display: block;
}

/* ===== Entity tag list ===== */
.promtra-tr-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	align-items: center;
}

/* ===== Settings page ===== */
.promtra-settings-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 20px;
	margin-top: 4px;
}
.promtra-settings-card .promtra-card__body {
	padding-top: 16px;
}
.promtra-settings-time-input {
	width: 130px;
}
.promtra-settings-next-run {
	font-size: 12px;
	color: var(--promtra-text-soft);
	margin: 0 0 14px;
}
.promtra-settings-success {
	font-size: 13px;
	color: var(--promtra-success);
	padding: 8px 0 4px;
}
.promtra-settings-ai-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.promtra-settings-ai-item {
	display: flex;
	align-items: center;
	gap: 10px;
}
.promtra-settings-ai-item--soon {
	opacity: 0.5;
}
.promtra-settings-ai-name {
	flex: 1;
	font-size: 13px;
	color: var(--promtra-text-soft);
}

/* prompt link in tracker table (kept for legacy) */
.promtra-tr-prompt-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

/* per-row track button */
.promtra-tr-run-btn {
	opacity: .6;
	transition: opacity .15s;
}
.promtra-tr-run-btn:hover,
.promtra-tr-run-btn--running {
	opacity: 1;
	color: var(--promtra-success);
}
.promtra-tr-run-btn--running {
	animation: promtra-spin 1s linear infinite;
}
@keyframes promtra-spin {
	to { transform: rotate(360deg); }
}

/* Loading state for PTD run/renorm buttons */
.is-loading { opacity: .7; pointer-events: none; }
.is-loading svg { animation: promtra-spin 1s linear infinite; }

/* ===== Prompt Tracker Detail page ===== */
.promtra-ptd-page {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.promtra-ptd-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.promtra-ptd-header-card {
	padding: 20px 24px;
}
.promtra-ptd-prompt-text {
	font-size: 16px;
	font-weight: 600;
	color: var(--promtra-text-base);
	line-height: 1.5;
	margin-bottom: 12px;
}
.promtra-ptd-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.promtra-ptd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}
.promtra-ptd-card .promtra-card__body {
	padding-top: 14px;
}
.promtra-ptd-vis {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.promtra-ptd-vis--yes .promtra-icon { color: var(--promtra-success); }
.promtra-ptd-vis--no  .promtra-icon { color: var(--promtra-error); transform: rotate(45deg); }
.promtra-ptd-vis strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
}
.promtra-ptd-vis-pos {
	font-size: 12px;
	color: var(--promtra-text-mute);
	margin: 4px 0 0;
}
.promtra-ptd-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.promtra-ptd-empty-hint {
	font-size: 12px;
	color: var(--promtra-text-mute);
	margin: 0;
}
.promtra-ptd-response-card .promtra-card__body {
	padding-top: 14px;
}
.promtra-ptd-response {
	font-size: 13px;
	line-height: 1.7;
	word-break: break-word;
	background: var(--promtra-bg-elev-2);
	border-radius: 8px;
	padding: 16px;
}
.promtra-ptd-nodata {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 24px;
	color: var(--promtra-text-mute);
	font-size: 13px;
}

/* ===== Prompt Detail Page (redesign) ===== */
.promtra-ptd-header-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}
.promtra-ptd-header__left {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	flex: 1;
	min-width: 0;
}
.promtra-ptd-headline {
	font-size: 20px;
	font-weight: 600;
	color: var(--promtra-text);
	margin: 0;
	line-height: 1.3;
	flex: 1;
	min-width: 0;
}
.promtra-ptd-header__right {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

/* KPI row */
.promtra-ptd-kpi-row {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-bottom: 20px;
}
.promtra-ptd-kpi-card {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border-soft);
	border-radius: var(--promtra-radius);
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.promtra-ptd-kpi-card__label {
	font-size: 11px;
	color: var(--promtra-text-mute);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.promtra-ptd-kpi-card__value {
	font-size: 18px;
	font-weight: 700;
	color: var(--promtra-text);
	line-height: 1.2;
}
.promtra-ptd-kpi-card__sub {
	font-size: 11px;
	color: var(--promtra-text-soft);
}

/* Analysis sections */
.promtra-ptd-analysis-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}
.promtra-ptd-analysis-title {
	font-size: 15px;
	font-weight: 600;
	color: var(--promtra-text);
	margin: 0 0 3px;
}
.promtra-ptd-analysis-desc {
	font-size: 12px;
	color: var(--promtra-text-mute);
	margin: 0;
}
.promtra-ptd-range-btns {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
}
.promtra-ptd-range-btn {
	font-size: 11px;
	padding: 4px 10px;
	border-radius: var(--promtra-radius-sm);
	border: 1px solid var(--promtra-border-soft);
	background: transparent;
	color: var(--promtra-text-soft);
	cursor: pointer;
	transition: all .15s;
}
.promtra-ptd-range-btn:hover { background: var(--promtra-bg-hover); }
.promtra-ptd-range-btn.is-active {
	background: var(--promtra-accent);
	border-color: var(--promtra-accent);
	color: #fff;
}

/* Range calendar popup */
.promtra-cal-popup {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 200;
	display: none;
	flex-direction: column;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	box-shadow: 0 4px 20px rgba(0,0,0,.4);
	padding: 12px;
	min-width: 236px;
	user-select: none;
}
.promtra-cal-popup:not([hidden]) { display: flex; animation: promtra-fadein .15s ease; }
.promtra-cal__nav-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
.promtra-cal__month {
	font-size: 13px;
	font-weight: 600;
	color: var(--promtra-text);
}
.promtra-cal__nav {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--promtra-text-soft);
	font-size: 16px;
	line-height: 1;
	padding: 3px 8px;
	border-radius: var(--promtra-radius-sm);
	transition: background .12s, color .12s;
}
.promtra-cal__nav:hover { background: var(--promtra-bg-hover); color: var(--promtra-text); }
.promtra-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}
.promtra-cal__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	font-size: 11px;
	border-radius: var(--promtra-radius-sm);
	cursor: pointer;
	color: var(--promtra-text);
	transition: background .1s;
}
.promtra-cal__cell--head {
	font-size: 10px;
	font-weight: 600;
	color: var(--promtra-text-mute);
	cursor: default;
	letter-spacing: .04em;
}
.promtra-cal__cell--empty { cursor: default; pointer-events: none; }
.promtra-cal__cell--future { color: var(--promtra-text-mute); opacity: 0.35; cursor: default; pointer-events: none; }
.promtra-cal__cell--today { font-weight: 700; color: var(--promtra-accent); }
.promtra-cal__cell:not(.promtra-cal__cell--head):not(.promtra-cal__cell--empty):hover {
	background: var(--promtra-bg-hover);
}
.promtra-cal__cell--from,
.promtra-cal__cell--to {
	background: var(--promtra-accent) !important;
	color: #fff !important;
}
.promtra-cal__cell--range { background: rgba(99,102,241,.18); border-radius: 0; }
.promtra-cal__cell--pending { background: rgba(99,102,241,.3); }
/* Selected range label shown inline next to range buttons */
.promtra-cal-label {
	display: none;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: var(--promtra-text-soft);
	cursor: pointer;
	padding: 3px 8px;
	border-radius: var(--promtra-radius-sm);
	border: 1px solid var(--promtra-border);
	background: var(--promtra-bg-elev-2);
	white-space: nowrap;
	height: 26px;
}
.promtra-cal-label:hover { color: var(--promtra-text); border-color: var(--promtra-accent); }
.promtra-cal-label.is-visible { display: flex; }

/* SVG Chart wrap (no fixed height – SVG sizes itself) */
.promtra-ptd-chart-wrap {
	width: 100%;
	margin-bottom: 16px;
}
.promtra-ptd-chart-wrap svg { display: block; }

/* Source / entity chips */
.promtra-ptd-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 20px;
}
.promtra-ptd-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px 4px 8px;
	border-radius: 20px;
	border: 1px solid var(--promtra-border-soft);
	background: var(--promtra-bg-elev-2);
	font-size: 12px;
	color: var(--promtra-text-soft);
	cursor: pointer;
	transition: all .15s;
	user-select: none;
}
.promtra-ptd-chip:hover,
.promtra-ptd-chip.is-active {
	border-color: var(--promtra-accent);
	color: var(--promtra-accent);
	background: color-mix(in srgb, var(--promtra-accent) 8%, transparent);
}
.promtra-ptd-chip__dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.promtra-ptd-chip img {
	width: 14px;
	height: 14px;
	object-fit: contain;
	flex-shrink: 0;
}

/* Analysis table */
.promtra-ptd-atbl { width: 100%; border-collapse: collapse; }
.promtra-ptd-atbl th {
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	padding: 6px 10px;
	border-bottom: 1px solid var(--promtra-border-soft);
	white-space: nowrap;
}
.promtra-ptd-atbl th.promtra-text-right { text-align: right; }
.promtra-ptd-atbl th.promtra-ptd-sortable.promtra-text-right { text-align: right; }
.promtra-ptd-atbl td {
	font-size: 12px;
	color: var(--promtra-text-soft);
	padding: 8px 10px;
	border-bottom: 1px solid var(--promtra-border-soft);
	vertical-align: middle;
}
.promtra-ptd-atbl tr:last-child td { border-bottom: none; }
.promtra-ptd-atbl tbody tr.promtra-ptd-main-row {
	cursor: pointer;
	transition: background .12s;
}
.promtra-ptd-atbl tbody tr.promtra-ptd-main-row:hover td { background: var(--promtra-bg-hover); }
.promtra-ptd-atbl .promtra-ptd-expand-row td { background: var(--promtra-bg-elev-2); }
.promtra-ptd-domain-cell {
	display: flex;
	align-items: center;
	gap: 7px;
}
.promtra-ptd-domain-cell img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	flex-shrink: 0;
}
.promtra-ptd-quote-bar {
	display: flex;
	align-items: center;
	gap: 6px;
}
.promtra-ptd-quote-bar__track {
	flex: 1;
	max-width: 60px;
	height: 4px;
	background: var(--promtra-border-soft);
	border-radius: 2px;
}
.promtra-ptd-quote-bar__fill {
	height: 100%;
	border-radius: 2px;
	background: var(--promtra-accent);
}
.promtra-ptd-expand-detail {
	font-size: 12px;
	padding: 8px 10px 12px;
}
.promtra-ptd-src-snippet {
	padding: 10px 14px 8px;
	border-bottom: 1px solid var(--promtra-border-soft);
}
.promtra-ptd-src-snippet__label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--promtra-text-mute);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.promtra-ptd-src-snippet__link {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 10px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--promtra-accent);
	text-decoration: none;
	opacity: .8;
	transition: opacity .15s;
}
.promtra-ptd-src-snippet__link:hover { opacity: 1; text-decoration: underline; }
.promtra-ptd-src-snippet__link-inline {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin-left: 5px;
	color: inherit;
	opacity: .65;
	text-decoration: none;
	transition: opacity .15s;
}
.promtra-ptd-src-snippet__link-inline:hover { opacity: 1; }
.promtra-ptd-src-snippet__quote {
	margin: 0;
	padding: 8px 12px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	border-radius: 6px;
	font-size: 12px;
	line-height: 1.6;
	color: var(--promtra-text-soft);
	font-style: italic;
}
.promtra-ptd-ai-breakdown {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px;
}
.promtra-ptd-ai-breakdown__item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: var(--promtra-text-soft);
}
/* Brand-Awareness block (eigene Marke, ausgeklappt) */
.promtra-ptd-awareness {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px;
	border-top: 1px solid var(--promtra-border-soft);
}
.promtra-ptd-awareness__row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}
.promtra-ptd-awareness__label {
	font-size: 11px;
	font-weight: 600;
	color: var(--promtra-text-mute);
	white-space: nowrap;
}
.promtra-ptd-awareness__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.promtra-ptd-awareness__chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 10px;
	border: 1px solid transparent;
}
.promtra-ptd-awareness__chip strong { font-weight: 700; }
.promtra-ptd-awareness__pct {
	font-size: 10px;
	opacity: .65;
	margin-left: 1px;
}
.promtra-ptd-awareness__chip--positive {
	background: rgba(52, 211, 153, .12);
	border-color: rgba(52, 211, 153, .3);
	color: #10b981;
}
.promtra-ptd-awareness__chip--neutral {
	background: var(--promtra-bg-elev-2);
	border-color: var(--promtra-border-soft);
	color: var(--promtra-text-mute);
}
.promtra-ptd-awareness__chip--negative {
	background: rgba(248, 113, 113, .12);
	border-color: rgba(248, 113, 113, .3);
	color: #ef4444;
}
.promtra-ptd-awareness__chip--reason {
	background: var(--promtra-bg-elev-2);
	border-color: var(--promtra-border-soft);
	color: var(--promtra-text-soft);
}
.promtra-ptd-awareness__chip--smiley { cursor: help; gap: 5px; }
.promtra-ptd-awareness__chip--smiley svg { flex-shrink: 0; }
.promtra-ptd-awareness__smiley-row {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	cursor: help;
}
.promtra-ptd-awareness__smiley-row strong {
	font-size: 12px;
	font-weight: 700;
}
.promtra-ptd-awareness__smiley-icon { display: inline-flex; align-items: center; }
.promtra-ptd-awareness__smiley-icon--positive { color: #10b981; }
.promtra-ptd-awareness__smiley-icon--neutral  { color: var(--promtra-text-mute); }
.promtra-ptd-awareness__smiley-icon--negative { color: #ef4444; }
.promtra-ptd-awareness__chips-more {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 5px;
}
.promtra-ptd-awareness__more-btn {
	display: inline-flex;
	align-items: center;
	background: none;
	border: 1px solid var(--promtra-border-soft);
	color: var(--promtra-text-mute);
	font-size: 10px;
	padding: 2px 8px;
	border-radius: 10px;
	cursor: pointer;
	transition: color .15s, border-color .15s;
}
.promtra-ptd-awareness__more-btn:hover { color: var(--promtra-text-soft); border-color: var(--promtra-border); }
.promtra-ptd-chevron {
	transition: transform .2s;
	color: var(--promtra-text-mute);
}
.promtra-ptd-main-row.is-open .promtra-ptd-chevron { transform: rotate(90deg); }

/* Collapsible response card */
.promtra-ptd-collapse-trigger {
	cursor: pointer;
	user-select: none;
}
.promtra-ptd-collapse-trigger:hover { background: var(--promtra-bg-hover); border-radius: var(--promtra-radius) var(--promtra-radius) 0 0; }
.promtra-ptd-collapse-body { display: none; }
.promtra-ptd-collapsible.is-open .promtra-ptd-collapse-body { display: block; }
.promtra-ptd-collapsible.is-open .promtra-ptd-chevron { transform: rotate(90deg); }
.promtra-ptd-collapse-label {
	font-size: 12px;
	color: var(--promtra-text-mute);
	user-select: none;
}

/* ── Markdown render area ─────────────────────────────────────────────────── */

/* Shared base for both the "Letzte Antwort" card and history expand rows */
.promtra-ptd-response,
.promtra-ptd-hist-expand__resp {
	/* reset any inherited list/heading margins that themes may add */
}

/* Paragraphs */
.promtra-ptd-response .promtra-md-p,
.promtra-ptd-hist-expand__resp .promtra-md-p,
.promtra-ptd-response p,
.promtra-ptd-hist-expand__resp p {
	margin: 0 0 0.75em;
	line-height: 1.75;
}
.promtra-ptd-response .promtra-md-p:last-child,
.promtra-ptd-hist-expand__resp .promtra-md-p:last-child,
.promtra-ptd-response p:last-child,
.promtra-ptd-hist-expand__resp p:last-child { margin-bottom: 0; }

/* Headings (mapped #→h3, ##→h4, ###→h5) */
.promtra-ptd-response h3, .promtra-ptd-response .promtra-md-h3,
.promtra-ptd-hist-expand__resp h3, .promtra-ptd-hist-expand__resp .promtra-md-h3 {
	font-size: 14px;
	font-weight: 700;
	margin: 1.1em 0 0.4em;
	line-height: 1.4;
}
.promtra-ptd-response h4, .promtra-ptd-response .promtra-md-h4,
.promtra-ptd-hist-expand__resp h4, .promtra-ptd-hist-expand__resp .promtra-md-h4 {
	font-size: 13px;
	font-weight: 700;
	margin: 1em 0 0.35em;
}
.promtra-ptd-response h5, .promtra-ptd-response .promtra-md-h5, .promtra-ptd-hist-expand__resp h5, .promtra-ptd-hist-expand__resp .promtra-md-h5 { font-size: 12px; letter-spacing: 0px; font-weight: 700; margin: 2em 0 1em; }
.promtra-ptd-response h3:first-child,
.promtra-ptd-response h4:first-child,
.promtra-ptd-response h5:first-child { margin-top: 0; }

/* Horizontal rule */
.promtra-ptd-response hr, .promtra-ptd-response .promtra-md-hr,
.promtra-ptd-hist-expand__resp hr, .promtra-ptd-hist-expand__resp .promtra-md-hr {
	border: none;
	border-top: 1px solid var(--promtra-border-soft);
	margin: 1em 0;
}

/* Bold / Italic */
.promtra-ptd-response strong, .promtra-ptd-hist-expand__resp strong { font-weight: 600; color: var(--promtra-text); }
.promtra-ptd-response em,     .promtra-ptd-hist-expand__resp em     { font-style: italic; color: var(--promtra-text-soft); }

/* Inline code */
.promtra-ptd-response code:not(pre > code),
.promtra-ptd-hist-expand__resp code:not(pre > code),
.promtra-ptd-response .promtra-md-ic,
.promtra-ptd-hist-expand__resp .promtra-md-ic {
	font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace;
	font-size: 11.5px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border-soft);
	border-radius: 3px;
	padding: 1px 5px;
	white-space: nowrap;
}

/* Math notation (rendered as monospace, no MathJax dependency) */
.promtra-ptd-response .promtra-md-math,
.promtra-ptd-hist-expand__resp .promtra-md-math {
	font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace;
	font-size: 11.5px;
	font-style: normal;
	background: transparent;
	border: none;
	padding: 0;
}

/* Code blocks */
.promtra-ptd-response pre, .promtra-ptd-response .promtra-md-pre,
.promtra-ptd-hist-expand__resp pre, .promtra-ptd-hist-expand__resp .promtra-md-pre {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border-soft);
	border-radius: 6px;
	padding: 12px 14px;
	overflow-x: auto;
	margin: 0.75em 0;
	font-size: 12px;
	line-height: 1.55;
}
.promtra-ptd-response pre code,
.promtra-ptd-hist-expand__resp pre code {
	font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace;
	font-size: inherit;
	background: transparent;
	border: none;
	padding: 0;
	color: var(--promtra-text-soft);
	white-space: pre;
}

/* Lists */
.promtra-ptd-response ul, .promtra-ptd-response .promtra-md-ul,
.promtra-ptd-hist-expand__resp ul, .promtra-ptd-hist-expand__resp .promtra-md-ul {
	margin: 0.5em 0 0.75em 1.3em;
	padding: 0;
	list-style-type: disc;
}
.promtra-ptd-response ol, .promtra-ptd-response .promtra-md-ol,
.promtra-ptd-hist-expand__resp ol:not(.promtra-md-sources__list), .promtra-ptd-hist-expand__resp .promtra-md-ol {
	margin: 0.5em 0 0.75em 1.4em;
	padding: 0;
	list-style-type: decimal;
}
.promtra-ptd-response li, .promtra-ptd-hist-expand__resp li {
	margin-bottom: 0.25em;
	line-height: 1.65;
}

/* Blockquote */
.promtra-ptd-response blockquote, .promtra-ptd-response .promtra-md-bq,
.promtra-ptd-hist-expand__resp blockquote, .promtra-ptd-hist-expand__resp .promtra-md-bq {
	border-left: 3px solid var(--promtra-border);
	margin: 0.75em 0;
	padding: 6px 14px;
	color: var(--promtra-text-mute);
	font-style: italic;
	background: var(--promtra-bg-elev);
	border-radius: 0 4px 4px 0;
}
.promtra-ptd-response blockquote p,
.promtra-ptd-hist-expand__resp blockquote p { margin: 0; }

/* Links */
.promtra-ptd-response a, .promtra-ptd-response .promtra-md-link,
.promtra-ptd-hist-expand__resp a, .promtra-ptd-hist-expand__resp .promtra-md-link {
	color: var(--promtra-accent-text);
	text-decoration: underline;
	text-underline-offset: 2px;
	word-break: break-all;
}
.promtra-ptd-response a:hover, .promtra-ptd-hist-expand__resp a:hover { opacity: 0.8; }

/* Inline citations (grounding source snippets) */
.promtra-md-cited {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: #93c5fd;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	word-break: normal;
}
.promtra-md-cited:hover { text-decoration-color: #3b82f6; }
/* Specificity boost — .promtra-ptd-response a (0,1,1) would otherwise override color/decoration */
.promtra-ptd-response a.promtra-md-cited,
.promtra-ptd-hist-expand__resp a.promtra-md-cited {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: #93c5fd;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	word-break: normal;
}
.promtra-ptd-response a.promtra-md-cited:hover,
.promtra-ptd-hist-expand__resp a.promtra-md-cited:hover { text-decoration-color: #3b82f6; }
.promtra-ptd-response a.promtra-md-cited-icon,
.promtra-ptd-hist-expand__resp a.promtra-md-cited-icon { color: inherit; text-decoration: none; word-break: normal; }
.promtra-md-cited-icon {
	display: inline-block;
	margin-left: 2px;
	vertical-align: middle;
	line-height: 1;
	opacity: 0.8;
}
.promtra-md-cited-icon:hover { opacity: 1; }
.promtra-md-favicon {
	display: inline-block;
	width: 13px;
	height: 13px;
	border-radius: 2px;
	vertical-align: middle;
}

/* Tables */
.promtra-ptd-response table, .promtra-ptd-response .promtra-md-table,
.promtra-ptd-hist-expand__resp table, .promtra-ptd-hist-expand__resp .promtra-md-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	margin: 0.75em 0;
	display: block;
	overflow-x: auto;
}
.promtra-ptd-response th, .promtra-ptd-hist-expand__resp th {
	background: var(--promtra-bg-elev);
	font-weight: 600;
	color: var(--promtra-text);
	text-align: left;
	padding: 5px 9px;
	border: 1px solid var(--promtra-border-soft);
	white-space: nowrap;
}
.promtra-ptd-response td, .promtra-ptd-hist-expand__resp td {
	padding: 5px 9px;
	border: 1px solid var(--promtra-border-soft);
	color: var(--promtra-text-soft);
	vertical-align: top;
}
.promtra-ptd-response tr:nth-child(even) td,
.promtra-ptd-hist-expand__resp tr:nth-child(even) td {
	background: var(--promtra-bg-elev-2);
}

/* Grounding sources footer — tags style */
.promtra-md-sources-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin-top: 12px;
	padding-top: 8px;
	border-top: 1px solid var(--promtra-border-soft);
}
.promtra-md-src-label {
	font-size: 11px;
	color: var(--promtra-text-mute, #6b7280);
	margin-right: 2px;
	flex-shrink: 0;
}
.promtra-md-src-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 9999px;
	background: transparent;
	border: 1px solid var(--promtra-border-soft, #e5e7eb);
	font-size: 11px;
	color: var(--promtra-text-mute, #6b7280);
	white-space: nowrap;
	text-decoration: none;
	line-height: 1.4;
}
a.promtra-md-src-tag:hover {
	color: var(--promtra-accent-text, #6366f1);
	border-color: currentColor;
	text-decoration: none;
}
.promtra-md-src-fav {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex-shrink: 0;
}

/* Response preview / expand */
.promtra-ptd-response-wrap { position: relative; }
.promtra-ptd-response--preview { max-height: 120px; overflow: hidden; }
.promtra-ptd-response--preview.is-expanded { max-height: none; }
.promtra-ptd-response-fade {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 52px;
	background: linear-gradient(transparent, var(--promtra-bg-card));
	pointer-events: none;
}
.promtra-btn--xs {
	font-size: 11px;
	padding: 3px 10px;
	height: auto;
	line-height: 1.6;
}

/* History table */
.promtra-ptd-hist-tbl { width: 100%; border-collapse: collapse; }
.promtra-ptd-hist-tbl th {
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	color: var(--promtra-text-mute);
	padding: 6px 10px;
	border-bottom: 1px solid var(--promtra-border-soft);
	white-space: nowrap;
}
.promtra-ptd-hist-tbl td {
	font-size: 12px;
	color: var(--promtra-text-soft);
	padding: 8px 10px;
	border-bottom: 1px solid var(--promtra-border-soft);
	vertical-align: middle;
}
.promtra-ptd-hist-tbl tr:last-child td { border-bottom: none; }
.promtra-ptd-hist-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.promtra-ptd-hist-tag {
	font-size: 11px;
	padding: 1px 6px;
	border-radius: 10px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border-soft);
	color: var(--promtra-text-soft);
	white-space: nowrap;
}
.promtra-ptd-review--yes { color: #22c55e; }
.promtra-ptd-review--no  { color: var(--promtra-text-mute); }

/* Bottom grid */
.promtra-ptd-bottom-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 20px;
}
.promtra-ptd-tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; }
.promtra-ptd-brand-tag,
.promtra-ptd-entity-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 9px;
	border-radius: 20px;
	border: 1px solid var(--promtra-border-soft);
	font-size: 12px;
	color: var(--promtra-text-soft);
	background: var(--promtra-bg-elev-2);
}
.promtra-ptd-tag-count {
	font-size: 10px;
	font-weight: 600;
	color: var(--promtra-text-mute);
}

/* Delete button */
.promtra-btn--danger {
	color: #ef4444;
	border-color: #ef4444;
}
.promtra-btn--danger:hover {
	background: rgba(239, 68, 68, 0.1);
}

/* History table expandable rows */
.promtra-ptd-hist-tbl .promtra-ptd-main-row { cursor: pointer; transition: background .12s; }
.promtra-ptd-hist-tbl .promtra-ptd-main-row:hover td { background: var(--promtra-bg-hover); }
.promtra-ptd-hist-tbl .promtra-ptd-expand-row td { background: var(--promtra-bg-elev-2); padding: 0; }

/* History expand detail */
.promtra-ptd-hist-expand {
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.promtra-ptd-hist-expand__resp {
	font-size: 12px;
	color: var(--promtra-text-soft);
	line-height: 1.6;
	background: var(--promtra-bg-elev);
	padding: 10px 12px;
	border-radius: 6px;
	word-break: break-word;
	max-height: 320px;
	overflow-y: auto;
}
.promtra-ptd-hist-expand__section {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}
.promtra-ptd-hist-expand__label {
	font-size: 11px;
	font-weight: 600;
	color: var(--promtra-text-mute);
	white-space: nowrap;
	padding-top: 2px;
}
.promtra-ptd-hist-analyse {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
}
.promtra-ptd-hist-analyse__sep {
	display: inline-block;
	width: 1px;
	height: 12px;
	background: var(--promtra-border-soft);
	margin: 0 2px;
}
.promtra-ptd-hist-tag--reason {
	color: var(--promtra-text-mute);
	font-style: italic;
}

/* Favicon with letter fallback */
.promtra-ptd-fav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
.promtra-ptd-fav img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	border-radius: 2px;
	display: block;
}
.promtra-ptd-fav--err img { display: none; }
.promtra-ptd-fav--err::after {
	content: attr(data-letter);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	font-size: 9px;
	font-weight: 700;
	color: var(--promtra-text-mute);
	background: var(--promtra-bg-elev-2);
	border-radius: 3px;
	border: 1px solid var(--promtra-border-soft);
}
.promtra-ptd-chip .promtra-ptd-fav { width: 14px; height: 14px; }
.promtra-ptd-chip .promtra-ptd-fav img { width: 14px; height: 14px; }
.promtra-ptd-chip .promtra-ptd-fav--err::after { width: 14px; height: 14px; font-size: 8px; }

/* Own brand / domain row highlight */
.promtra-ptd-atbl tbody tr.promtra-ptd-own-row td { background: rgba(99,102,241,.05); }
.promtra-ptd-atbl tbody tr.promtra-ptd-own-row:hover td { background: rgba(99,102,241,.09); }
.promtra-ptd-own-badge {
	display: inline-flex;
	align-items: center;
	padding: 1px 5px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--promtra-accent);
	background: rgba(99,102,241,.15);
	border: 1px solid rgba(99,102,241,.25);
	border-radius: 3px;
	margin-left: 5px;
	flex-shrink: 0;
	line-height: 1.4;
	vertical-align: middle;
}

/* PTD table filter bar */
.promtra-ptd-tbl-filters {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 8px 0 10px;
	flex-wrap: wrap;
}
.promtra-ptd-filter-input,
.promtra-ptd-filter-select {
	height: 30px;
	padding: 0 8px;
	font-size: 12px;
	font-family: inherit;
	color: var(--promtra-text);
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	border-radius: 6px;
	outline: none;
	min-width: 0;
}
.promtra-ptd-filter-input { width: 180px; }
.promtra-ptd-filter-input:focus,
.promtra-ptd-filter-select:focus {
	border-color: var(--promtra-accent);
	box-shadow: 0 0 0 2px rgba(99,102,241,.15);
}
.promtra-ptd-filter-select {
	cursor: pointer;
	padding-right: 24px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23717986' stroke-width='1.5' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 10px 6px;
}

/* PTD sortable column headers */
.promtra-ptd-sortable {
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}
.promtra-ptd-sortable:hover { color: var(--promtra-text); }
.promtra-ptd-sort-icon {
	display: inline-block;
	margin-left: 4px;
	font-size: 10px;
	opacity: .4;
}
.promtra-ptd-sort-icon::after { content: '↕'; }
.promtra-ptd-sortable.sort-asc .promtra-ptd-sort-icon,
.promtra-ptd-sortable.sort-desc .promtra-ptd-sort-icon { opacity: 1; }
.promtra-ptd-sortable.sort-asc .promtra-ptd-sort-icon::after { content: '↑'; }
.promtra-ptd-sortable.sort-desc .promtra-ptd-sort-icon::after { content: '↓'; }

/* Responsive */
@media (max-width: 900px) {
	.promtra-ptd-kpi-row { grid-template-columns: repeat(2, 1fr); }
	.promtra-ptd-bottom-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Prompt Groups
   ============================================================ */

/* Filterbar – group-specific tweaks */
.promtra-filter__dropdown--groups { min-width: 200px; }
.promtra-filter__divider {
	height: 1px;
	background: var(--promtra-border);
	margin: 4px 0;
}
.promtra-filter__count {
	margin-left: auto;
	font-size: 10px;
	color: var(--promtra-text-mute);
	background: var(--promtra-bg-hover);
	border-radius: 10px;
	padding: 1px 6px;
	flex-shrink: 0;
}
/* Group badge (inline pill, no color) */
.promtra-group-badge {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 500;
	border-radius: 20px;
	padding: 2px 8px;
	white-space: nowrap;
	line-height: 1.5;
	background: var(--promtra-bg-hover);
	color: var(--promtra-text-soft);
	border: 1px solid var(--promtra-border);
}

/* ---- Tracker Sidebar ---- */
.promtra-tracker-layout {
	display: flex;
	align-items: flex-start;
	gap: 0;
	min-height: 0;
}

/* Thin separator between sidebar and content */
.promtra-sidebar-sep {
	width: 1px;
	flex-shrink: 0;
	background: var(--promtra-border);
	align-self: stretch;
	margin: 16px 0;
}

.promtra-group-sidebar {
	width: 188px;
	flex-shrink: 0;
	position: sticky;
	top: 0;
	align-self: flex-start;
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	padding: 12px 8px 24px 0;
}

.promtra-tracker-content {
	flex: 1;
	min-width: 0;
	padding-left: 8px;
}

.promtra-group-sidebar__title {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--promtra-text-mute);
	padding: 0 8px 6px;
}

.promtra-group-sidebar__item {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 6px 8px;
	font-size: 13px;
	color: var(--promtra-text-mute);
	cursor: pointer;
	border-radius: 0;
	transition: color .15s, background .15s;
	text-decoration: none;
	user-select: none;
}
.promtra-group-sidebar__item:hover {
	background: var(--promtra-bg-hover);
	color: var(--promtra-text);
}
.promtra-group-sidebar__item.is-active {
	color: var(--promtra-text);
	font-weight: 500;
	background: var(--promtra-sidebar-item-active, var(--promtra-bg-hover));
}

.promtra-group-sidebar__count {
	margin-left: auto;
	font-size: 11px;
	color: var(--promtra-text-mute);
	background: var(--promtra-bg-elev);
	border-radius: 10px;
	padding: 1px 7px;
	flex-shrink: 0;
}

.promtra-group-sidebar__divider {
	height: 1px;
	background: var(--promtra-border);
	margin: 6px 0;
}

.promtra-group-sidebar__new-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 8px;
	font-size: 12px;
	color: var(--promtra-text-mute);
	cursor: pointer;
	background: none;
	border: none;
	width: 100%;
	text-align: left;
	border-radius: 0;
	transition: color .15s;
}
.promtra-group-sidebar__new-btn:hover { color: var(--promtra-accent-text); }

/* Inline new-group form inside sidebar */
.promtra-group-new-form[hidden] { display: none; }
.promtra-group-new-form {
	padding: 6px 8px 10px;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.promtra-group-new-form input[type="text"] {
	font-size: 12.5px;
	padding: 5px 8px;
	width: 100%;
	border: 1px solid var(--promtra-border);
	border-radius: 5px;
	background: var(--promtra-bg-input);
	color: var(--promtra-text);
}
.promtra-group-new-form__actions {
	display: flex;
	gap: 6px;
}
.promtra-group-new-form__actions .promtra-btn {
	flex: 1;
	font-size: 12px;
	padding: 4px 8px;
}

/* Edit/delete actions on sidebar items */
.promtra-group-sidebar__item .promtra-group-item-actions {
	display: none;
	margin-left: auto;
	gap: 4px;
	align-items: center;
}
.promtra-group-sidebar__item:hover .promtra-group-item-actions { display: flex; }
.promtra-group-sidebar__item .promtra-group-item-actions button {
	background: none;
	border: none;
	padding: 2px 3px;
	cursor: pointer;
	color: var(--promtra-text-mute);
	border-radius: 3px;
	line-height: 1;
}
.promtra-group-sidebar__item .promtra-group-item-actions button:hover { color: var(--promtra-text); background: var(--promtra-bg-card); }

/* Tracker content area — .promtra-tracker-content defined near .promtra-group-sidebar above */

/* Custom group-select widget (research tracker modals) */
.promtra-gr-sel {
	position: relative;
}
.promtra-gr-sel__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	width: 100%;
	text-align: left;
	cursor: pointer;
}
.promtra-gr-sel__menu {
	position: absolute;
	z-index: 300;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	min-width: 160px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0,0,0,.22);
	padding: 4px 0;
}
.promtra-gr-sel__item {
	padding: 6px 12px;
	font-size: 13px;
	cursor: pointer;
	color: var(--promtra-text-mute);
	transition: background .1s, color .1s;
}
.promtra-gr-sel__item:hover { background: var(--promtra-bg-hover); color: var(--promtra-text); }
.promtra-gr-sel__item.is-active { color: var(--promtra-accent-text); font-weight: 500; }
.promtra-gr-sel__sep { height: 1px; background: var(--promtra-border); margin: 4px 0; }
.promtra-gr-sel__new-trig {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	font-size: 12px;
	color: var(--promtra-text-mute);
	cursor: pointer;
	background: none;
	border: none;
	width: 100%;
	text-align: left;
	transition: color .1s;
}
.promtra-gr-sel__new-trig:hover { color: var(--promtra-accent-text); }
.promtra-gr-sel__new-form[hidden] { display: none; }
.promtra-gr-sel__new-form {
	padding: 6px 10px 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.promtra-gr-sel__new-form .promtra-input--sm {
	font-size: 12px;
	padding: 4px 8px;
}
.promtra-gr-sel__new-actions {
	display: flex;
	gap: 5px;
	justify-content: flex-end;
}
.promtra-btn--xs {
	font-size: 11px;
	padding: 3px 8px;
	line-height: 1.4;
}

/* Bulk group-assign dropdown */
.promtra-bulk-group-wrap {
	position: relative;
}
.promtra-bulk-group-menu {
	position: absolute;
	bottom: calc(100% + 6px);
	left: 0;
	z-index: 300;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0,0,0,.22);
	min-width: 180px;
	padding: 4px 0;
}
.promtra-bulk-group-menu[hidden] { display: none; }
.promtra-bulk-group-menu__item {
	padding: 7px 12px;
	font-size: 13px;
	cursor: pointer;
	color: var(--promtra-text-mute);
	transition: background .1s, color .1s;
}
.promtra-bulk-group-menu__item:hover { background: var(--promtra-bg-hover); color: var(--promtra-text); }
.promtra-bulk-group-menu__none {
	padding: 7px 12px;
	font-size: 12px;
	color: var(--promtra-text-mute);
	font-style: italic;
}
.promtra-bulk-group-menu__sep {
	height: 1px;
	background: var(--promtra-border);
	margin: 3px 0;
}
.promtra-bulk-group-menu__item--none {
	color: var(--promtra-text-mute);
	font-style: italic;
}


/* ================================================================
 * View-specific component styles (moved from inline <style> blocks)
 * ================================================================ */


/* ----- analysis-citations.php ----- */
.promtra-comp-kpi { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.promtra-comp-kpi__card { background:var(--promtra-bg-elev); border:1px solid var(--promtra-border); border-radius:var(--promtra-radius); padding:16px 18px; }
.promtra-comp-kpi__label { font-size:11px; color:var(--promtra-text-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.promtra-comp-kpi__value { font-size:28px; font-weight:600; line-height:1; color:var(--promtra-text); margin-bottom:4px; }
.promtra-comp-kpi__sub { font-size:12px; color:var(--promtra-text-mute); }

/* ----- analysis-funnel.php ----- */
/* ---- Funnel split layout ---- */
.promtra-fnl-split {
	display: flex;
	min-height: 380px;
}
.promtra-fnl-split__nav {
	flex: 0 0 22%;
	border-right: 1px solid var(--promtra-border);
}
.promtra-fnl-split__main {
	flex: 1;
	overflow: auto;
}

/* ---- Funnel nav items ---- */
.promtra-fnl-nav__item {
	display: block;
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	border-bottom: 1px solid var(--promtra-border);
	cursor: pointer;
	padding: 14px 16px 12px;
	transition: background 120ms;
}
.promtra-fnl-nav__item:hover {
	background: var(--promtra-surface-hover, rgba(0,0,0,.03));
}
.promtra-fnl-nav__item.is-active {
	background: var(--promtra-surface-hover, rgba(0,0,0,.04));
}
.promtra-fnl-nav__bar {
	height: 26px;
	background: var(--promtra-border);
	border-radius: 4px;
	margin-bottom: 10px;
	transition: background 150ms;
}
.promtra-fnl-nav__item.is-active .promtra-fnl-nav__bar {
	background: var(--promtra-text-soft);
}
.promtra-fnl-nav__info {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.promtra-fnl-nav__label {
	font-size: 13px;
	font-weight: 500;
	color: var(--promtra-text);
	display: flex;
	align-items: center;
	gap: 6px;
}
.promtra-fnl-nav__meta {
	font-size: 12px;
	color: var(--promtra-text-mute);
}

/* ---- Stage panels (class-toggled, not [hidden], to avoid display:flex conflict) ---- */
.promtra-fnl-panel {
	display: none;
	flex-direction: column;
	height: 100%;
}
.promtra-fnl-panel.is-active {
	display: flex;
}
.promtra-fnl-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid var(--promtra-border);
	gap: 8px;
	flex-wrap: wrap;
}
.promtra-fnl-panel__head-left {
	display: flex;
	align-items: center;
	gap: 8px;
}
.promtra-fnl-panel__title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--promtra-text);
}

/* ---- Table inside panel: no rounded top corners ---- */
.promtra-fnl-split__main .promtra-tablewrap {
	border-radius: 0;
	border: none;
}
.promtra-fnl-split__main .promtra-table thead tr th:first-child {
	border-top-left-radius: 0;
}
.promtra-fnl-split__main .promtra-table thead tr th:last-child {
	border-top-right-radius: 0;
}

/* ---- Clickable table rows ---- */
.promtra-tbl-fnl .promtra-tr--link {
	cursor: pointer;
}
.promtra-tbl-fnl .promtra-tr--link:hover td {
	background: var(--promtra-surface-hover, rgba(0,0,0,.025));
}
.promtra-tbl-fnl .promtra-tr--link td {
	transition: background 100ms;
}

/* ---- Sort headers in funnel table ---- */
.promtra-fnl-th-sort {
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}

/* ----- analysis-gaps.php ----- */
.promtra-gap-matrix-card {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 18px;
	margin-bottom: 20px;
}
.promtra-gap-matrix-head { margin-bottom: 14px; }
.promtra-gap-matrix-head h3 { font-size: 14px; font-weight: 600; color: var(--promtra-text); margin: 0 0 2px; }
.promtra-gap-matrix-head p  { font-size: 12px; color: var(--promtra-text-mute); margin: 0; }

.promtra-gap-hm-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.promtra-gap-hm-tbl th {
	padding: 7px 14px;
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	border-bottom: 1px solid var(--promtra-border);
}
.promtra-gap-hm-tbl th:first-child { text-align: left; padding-left: 0; }
.promtra-gap-hm-tbl td { padding: 10px 14px; border-bottom: 1px solid var(--promtra-border-soft); }
.promtra-gap-hm-tbl tbody tr:last-child td { border-bottom: none; }
.promtra-gap-hm-tbl td:first-child { padding-left: 0; }

.promtra-gap-hm-stage { display: flex; align-items: center; gap: 8px; }
.promtra-gap-hm-stage-dot {
	width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
	background: var(--tone, #94a3b8);
}
.promtra-gap-hm-stage-label { font-size: 12px; font-weight: 600; color: var(--promtra-text); }
.promtra-gap-hm-stage-sub   { font-size: 11px; color: var(--promtra-text-mute); }

.promtra-gap-hm-cell { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.promtra-gap-hm-pct  { font-weight: 600; font-size: 13px; color: var(--promtra-text); }
.promtra-gap-hm-bar  { width: 32px; height: 3px; border-radius: 2px; }
.promtra-gap-hm-empty { font-size: 12px; color: var(--promtra-text-mute); text-align: center; }

.promtra-gap-legend {
	display: flex; align-items: center; gap: 6px;
	font-size: 11px; color: var(--promtra-text-mute);
	margin-top: 14px; padding-top: 12px;
	border-top: 1px solid var(--promtra-border-soft);
}
.promtra-gap-legend-swatch {
	display: flex; gap: 2px; align-items: center;
}
.promtra-gap-legend-swatch span {
	display: inline-block; width: 20px; height: 8px; border-radius: 2px;
}

/* Two-column row */
.promtra-gap-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
}
@media (max-width: 800px) {
	.promtra-gap-two-col { grid-template-columns: 1fr; }
}

.promtra-gap-subcard {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 18px;
}
.promtra-gap-subcard-head { margin-bottom: 12px; }
.promtra-gap-subcard-head h3 { font-size: 14px; font-weight: 600; color: var(--promtra-text); margin: 0 0 2px; }
.promtra-gap-subcard-head p  { font-size: 12px; color: var(--promtra-text-mute); margin: 0; }

/* Gap list rows */
.promtra-gap-list { display: flex; flex-direction: column; gap: 2px; }
.promtra-gap-list-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 6px;
	cursor: pointer;
	transition: background .12s;
	text-decoration: none;
}
.promtra-gap-list-row:hover { background: var(--promtra-bg-hover); }
.promtra-gap-list-row-text { font-size: 12px; color: var(--promtra-text); line-height: 1.4; }
.promtra-gap-list-row-meta { font-size: 11px; color: var(--promtra-text-mute); margin-top: 2px; }
.promtra-gap-list-row-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.promtra-gap-comp-chip {
	font-size: 11px; color: #f59e0b; font-weight: 600; white-space: nowrap;
}
.promtra-gap-empty {
	padding: 28px 0; text-align: center;
	font-size: 12px; color: var(--promtra-text-mute);
}

/* Priority table */
.promtra-gap-tbl-card {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	overflow: hidden;
	margin-bottom: 20px;
}
.promtra-gap-tbl-head {
	padding: 16px 18px 12px;
	border-bottom: 1px solid var(--promtra-border);
}
.promtra-gap-tbl-head h3 { font-size: 14px; font-weight: 600; color: var(--promtra-text); margin: 0 0 2px; }
.promtra-gap-tbl-head p  { font-size: 12px; color: var(--promtra-text-mute); margin: 0; }
.promtra-gap-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.promtra-gap-tbl th {
	padding: 8px 14px;
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	border-bottom: 1px solid var(--promtra-border);
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
}
.promtra-gap-tbl th:hover { color: var(--promtra-text); }
.promtra-gap-tbl th.promtra-num { text-align: right; }
.promtra-gap-tbl td { padding: 9px 14px; border-bottom: 1px solid var(--promtra-border-soft); vertical-align: middle; }
.promtra-gap-tbl tbody tr:last-child td { border-bottom: none; }
.promtra-gap-tbl tbody tr { cursor: pointer; transition: background .1s; }
.promtra-gap-tbl tbody tr:hover { background: var(--promtra-bg-hover); }
.promtra-gap-tbl td.promtra-num { text-align: right; }
.promtra-gap-score-ring {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	font-size: 12px; font-weight: 700;
	border: 2px solid;
}
.promtra-gap-score-ring--crit  { border-color: #f87171; color: #f87171; background: rgba(248,113,113,.1); }
.promtra-gap-score-ring--med   { border-color: #fbbf24; color: #fbbf24; background: rgba(251,191,36,.1); }
.promtra-gap-score-ring--low   { border-color: #94a3b8; color: #94a3b8; background: rgba(148,163,184,.1); }

.promtra-gap-vis-bar {
	display: flex; align-items: center; gap: 7px; min-width: 100px;
}
.promtra-gap-vis-track {
	flex: 1; height: 4px; border-radius: 2px;
	background: var(--promtra-bg-base);
	overflow: hidden;
}
.promtra-gap-vis-fill {
	height: 100%; border-radius: 2px;
	background: var(--tone, #94a3b8);
}
.promtra-gap-vis-val { font-size: 12px; font-weight: 600; white-space: nowrap; }

/* ----- analysis-keywords.php ----- */
/* ── Keyword Cluster ── */
.promtra-kc-wrap {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Toolbar */
.promtra-kc-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 12px 16px;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
}
.promtra-kc-toolbar__label {
	font-size: 12px;
	color: var(--promtra-text-mute);
	white-space: nowrap;
}
.promtra-kc-toolbar__range {
	-webkit-appearance: none;
	appearance: none;
	width: 140px;
	height: 4px;
	border-radius: 2px;
	background: var(--promtra-border);
	outline: none;
	cursor: pointer;
}
.promtra-kc-toolbar__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--promtra-accent);
	cursor: pointer;
}
.promtra-kc-toolbar__range::-moz-range-thumb {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--promtra-accent);
	border: none;
	cursor: pointer;
}
.promtra-kc-freq-val {
	font-size: 12px;
	font-weight: 600;
	color: var(--promtra-text);
	min-width: 22px;
}
.promtra-kc-spacer { flex: 1; }
.promtra-kc-toolbar__actions { display: flex; gap: 8px; align-items: center; }

/* Zoom badge */
.promtra-kc-zoom-badge {
	font-size: 11px;
	padding: 2px 9px;
	border-radius: 20px;
	background: rgba(99,102,241,0.12);
	border: 1px solid rgba(99,102,241,0.3);
	color: #a78bfa;
	white-space: nowrap;
	transition: opacity .2s;
	user-select: none;
}

/* Graph canvas */
.promtra-kc-canvas-wrap {
	position: relative;
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	overflow: hidden;
}
#promtra-kc-graph {
	width: 100%;
	height: 580px;
	background: var(--promtra-bg-elev);
}

/* Loading overlay */
.promtra-kc-loading {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: var(--promtra-bg-elev);
	z-index: 10;
}
.promtra-kc-loading__spinner {
	width: 28px; height: 28px;
	border: 3px solid var(--promtra-border);
	border-top-color: var(--promtra-accent);
	border-radius: 50%;
	animation: promtra-kc-spin .7s linear infinite;
}
.promtra-kc-loading__text { font-size: 13px; color: var(--promtra-text-mute); }
@keyframes promtra-kc-spin { to { transform: rotate(360deg); } }

/* Detail panel */
.promtra-kc-detail {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 16px 20px;
	display: none;
}
.promtra-kc-detail.is-visible { display: block; }
.promtra-kc-detail__term { font-size: 18px; font-weight: 700; color: var(--promtra-text); margin: 0 0 4px; }
.promtra-kc-detail__freq { font-size: 12px; color: var(--promtra-text-mute); margin: 0 0 14px; }
.promtra-kc-detail__sub {
	font-size: 11px; font-weight: 700; letter-spacing: .06em;
	text-transform: uppercase; color: var(--promtra-text-mute); margin: 0 0 8px;
}
.promtra-kc-connected { display: flex; gap: 6px; flex-wrap: wrap; }
.promtra-kc-connected__tag {
	font-size: 12px; padding: 3px 10px; border-radius: 20px;
	background: var(--promtra-bg-elev-2); border: 1px solid var(--promtra-border);
	color: var(--promtra-text-soft); cursor: pointer;
	transition: border-color .15s, color .15s;
}
.promtra-kc-connected__tag:hover { border-color: var(--promtra-accent); color: var(--promtra-accent-text); }
.promtra-kc-connected__weight { font-size: 10px; color: var(--promtra-text-mute); margin-left: 2px; }

/* Stats + Legend bar */
.promtra-kc-statusbar {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	font-size: 12px; color: var(--promtra-text-mute);
}
.promtra-kc-legend { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.promtra-kc-legend__item { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--promtra-text-mute); }
.promtra-kc-legend__dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }

/* Hover tooltip */
#promtra-kc-tooltip {
	position: fixed; pointer-events: none; display: none; z-index: 9999;
	background: rgba(15,23,42,0.92); border: 1px solid #4c1d95; border-radius: 6px;
	padding: 5px 10px; font-size: 12px; font-weight: 600; color: #c4b5fd;
	white-space: nowrap; box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

/* Empty state */
.promtra-kc-empty {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 64px 24px; gap: 8px; background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border); border-radius: var(--promtra-radius);
}
.promtra-kc-empty__title { font-size: 15px; font-weight: 600; color: var(--promtra-text); margin: 0; }
.promtra-kc-empty__text { font-size: 13px; color: var(--promtra-text-mute); margin: 0; text-align: center; max-width: 380px; }

/* ----- analysis-sentiment.php ----- */
/* ── Sentiment page — identisches Styling wie Markensichtbarkeit ── */
.promtra-comp-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.promtra-comp-toolbar__spacer { flex:1; }
.promtra-comp-kpi { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.promtra-comp-kpi__card { background:var(--promtra-bg-elev); border:1px solid var(--promtra-border); border-radius:var(--promtra-radius); padding:16px 18px; }
.promtra-comp-kpi__label { font-size:11px; color:var(--promtra-text-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.promtra-comp-kpi__value { font-size:28px; font-weight:600; line-height:1; color:var(--promtra-text); margin-bottom:4px; }
.promtra-comp-kpi__sub { font-size:12px; color:var(--promtra-text-mute); }
.promtra-comp-chart-wrap { background:var(--promtra-bg-elev); border:1px solid var(--promtra-border); border-radius:var(--promtra-radius); padding:18px; margin-bottom:20px; }
.promtra-comp-chart-empty { color:var(--promtra-text-mute); font-size:13px; text-align:center; padding:30px 0; }
.promtra-comp-vis-ok { color:var(--promtra-success); }
.promtra-comp-vis-no { color:var(--promtra-text-mute); }
.promtra-gap-bars { display:flex; flex-direction:column; gap:5px; min-width:200px; }
.promtra-gap-bar-row { display:grid; grid-template-columns:110px 1fr 30px; align-items:center; gap:6px; font-size:11px; }
.promtra-gap-bar-label { color:var(--promtra-text-mute); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.promtra-gap-bar-track { height:5px; background:var(--promtra-border-soft); border-radius:3px; overflow:hidden; }
.promtra-gap-bar-fill { height:100%; border-radius:3px; }
.promtra-gap-bar-pct { font-weight:600; color:var(--promtra-text); text-align:right; }
.promtra-gap-score { display:inline-flex; align-items:center; font-size:11px; font-weight:700; padding:3px 8px; border-radius:4px; white-space:nowrap; }
.promtra-gap-runs { font-size:11px; color:var(--promtra-text-mute); white-space:nowrap; }
.promtra-comp-gap-badge { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:500; }
.promtra-comp-list__dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.promtra-comp-list__actions { display:flex; gap:6px; justify-content:flex-end; }
.promtra-comp-insights-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; align-items:stretch; }
@media (max-width:860px) { .promtra-comp-insights-grid { grid-template-columns:1fr; } }
.promtra-comp-insights-grid .promtra-sov-card, .promtra-comp-insights-grid .promtra-ai-heatmap-card { margin-bottom:0; }
.promtra-sov-card { background:var(--promtra-bg-elev); border:1px solid var(--promtra-border); border-radius:var(--promtra-radius); padding:18px; margin-bottom:20px; display:flex; flex-direction:column; }
.promtra-sov-head { margin-bottom:14px; }
.promtra-sov-head h3 { font-size:14px; font-weight:600; color:var(--promtra-text); margin:0 0 2px; }
.promtra-sov-head p { font-size:12px; color:var(--promtra-text-mute); margin:0; }
.promtra-sov-body { display:flex; align-items:center; gap:28px; flex-wrap:wrap; flex:1; }
.promtra-sov-donut-wrap { position:relative; flex-shrink:0; width:260px; height:260px; }
.promtra-sov-donut { width:260px; height:260px; transform:rotate(-90deg); }
.promtra-sov-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; }
.promtra-sov-center__label { font-size:10px; color:var(--promtra-text-mute); text-transform:uppercase; letter-spacing:.05em; }
.promtra-sov-center__val { font-size:22px; font-weight:700; color:var(--promtra-text); line-height:1.1; }
.promtra-sov-legend { flex:1; min-width:160px; display:flex; flex-direction:column; gap:7px; list-style:none; margin:0; padding:0; }
.promtra-sov-row { display:grid; grid-template-columns:10px 1fr auto 36px; align-items:center; gap:8px; font-size:12px; cursor:pointer; transition:opacity .2s ease; }
.promtra-sov-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.promtra-sov-bar-wrap { height:4px; background:var(--promtra-border); border-radius:2px; overflow:hidden; }
.promtra-sov-bar-fill { height:100%; border-radius:2px; transition:width .3s; }
.promtra-sov-pct { font-weight:600; text-align:right; color:var(--promtra-text); font-size:12px; white-space:nowrap; }
.promtra-sov-name { color:var(--promtra-text-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:400; }
.promtra-sov-seg { transition:opacity .2s ease; cursor:pointer; }
.promtra-sov-donut.is-hover .promtra-sov-seg:not(.is-active) { opacity:.15; }
.promtra-sov-legend.is-hover .promtra-sov-row:not(.is-active) { opacity:.2; }
.promtra-ai-heatmap-card { background:var(--promtra-bg-elev); border:1px solid var(--promtra-border); border-radius:var(--promtra-radius); padding:18px; margin-bottom:20px; }
.promtra-ai-heatmap-head { margin-bottom:14px; }
.promtra-ai-heatmap-head h3 { font-size:14px; font-weight:600; color:var(--promtra-text); margin:0 0 2px; }
.promtra-ai-heatmap-head p { font-size:12px; color:var(--promtra-text-mute); margin:0; }
.promtra-ai-hm-tbl { width:100%; border-collapse:collapse; font-size:12px; }
.promtra-ai-hm-tbl th { padding:7px 12px; text-align:center; font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--promtra-text-mute); border-bottom:1px solid var(--promtra-border); }
.promtra-ai-hm-tbl th:first-child { text-align:left; }
.promtra-ai-hm-tbl td { padding:8px 12px; border-bottom:1px solid var(--promtra-border-soft); }
.promtra-ai-hm-tbl tbody tr:last-child td { border-bottom:none; }
.promtra-ai-hm-pct { font-weight:600; font-size:12px; }
.promtra-ai-hm-entity { display:flex; align-items:center; gap:7px; }
.promtra-ai-hm-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.promtra-overlap-legend { display:flex; gap:16px; flex-wrap:wrap; padding:10px 18px 0; font-size:11px; color:var(--promtra-text-mute); margin-bottom:2px; }
.promtra-overlap-leg-item { display:flex; align-items:center; gap:5px; position:relative; cursor:default; }
.promtra-overlap-leg-item .promtra-tip { position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); background:var(--promtra-bg-inv,#1e1e2e); color:var(--promtra-text-inv,#f0f0f0); font-size:11px; line-height:1.5; padding:6px 11px; border-radius:5px; pointer-events:none; opacity:0; transition:opacity .1s; z-index:200; width:320px; white-space:normal; text-align:center; }
.promtra-overlap-leg-item:hover .promtra-tip { opacity:1; }
.promtra-overlap-leg-dot { width:9px; height:9px; border-radius:2px; flex-shrink:0; }
.promtra-overlap-rows { padding:10px 18px 16px; display:flex; flex-direction:column; gap:12px; }
.promtra-overlap-row-label { display:flex; align-items:center; gap:7px; font-size:12px; margin-bottom:5px; }
.promtra-overlap-label-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.promtra-overlap-label-name { flex:1; color:var(--promtra-text-soft); }
.promtra-overlap-label-stat { font-size:11px; color:var(--promtra-text-mute); white-space:nowrap; }
.promtra-overlap-label-stat b { color:#f59e0b; font-weight:600; }
.promtra-overlap-bar { display:flex; height:10px; border-radius:5px; overflow:hidden; }
.promtra-notes-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; padding:0 18px 18px; }
.promtra-notes-card { border:1px solid var(--promtra-border); border-radius:8px; padding:13px 14px; cursor:pointer; transition:border-color .15s,box-shadow .15s; background:var(--promtra-bg-base); }
.promtra-notes-card:hover { border-color:var(--promtra-accent); box-shadow:0 2px 8px rgba(0,0,0,.06); }
.promtra-notes-card-head { display:flex; align-items:center; gap:7px; margin-bottom:7px; }
.promtra-notes-card-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.promtra-notes-card-name { font-size:12px; font-weight:600; color:var(--promtra-text); }
.promtra-notes-card-body { font-size:12px; color:var(--promtra-text-mute); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; }
.promtra-notes-card-hint { margin-top:7px; font-size:11px; color:var(--promtra-accent); display:block; }

/* ----- analysis-trends.php ----- */
/* KPI cards */
.promtra-trd-kpi-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 16px;
}
@media (max-width: 760px) { .promtra-trd-kpi-row { grid-template-columns: repeat(2,1fr); } }
.promtra-trd-kpi-card {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s, box-shadow .15s;
}
a.promtra-trd-kpi-card:hover {
	border-color: var(--promtra-accent);
	box-shadow: 0 0 0 1px var(--promtra-accent);
}
.promtra-trd-kpi-card__label { font-size: 11px; color: var(--promtra-text-mute); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.promtra-trd-kpi-card__value-row { display: flex; align-items: baseline; gap: 8px; }
.promtra-trd-kpi-card__value { font-size: 26px; font-weight: 700; color: var(--promtra-text); line-height: 1.1; }
.promtra-trd-kpi-card__denom { font-size: 13px; font-weight: 400; color: var(--promtra-text-mute); margin-left: 1px; }
.promtra-trd-kpi-card__sub { font-size: 11px; color: var(--promtra-text-mute); display: flex; align-items: center; gap: 6px; }
.promtra-trd-kpi-delta { font-size: 11px; font-weight: 600; }
.promtra-trd-kpi-delta--up { color: #34d399; }
.promtra-trd-kpi-delta--down { color: #f87171; }
.promtra-funnel-filter { display:inline-flex; align-items:center; margin-left:4px; }
.promtra-trd-charts-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 16px;
}
@media (max-width: 660px) {
	.promtra-trd-charts-row { grid-template-columns: 1fr; }
}
.promtra-trd-chart-card .promtra-card__body {
	padding-bottom: 12px;
}
/* Sort headers — use app.css promtra-th--sort-asc/desc + promtra-sort-icon */
.promtra-trd-th {
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}
/* Clickable mover rows */
.promtra-trd-mover-row { cursor: pointer; }
.promtra-trd-mover-row:hover td { background: var(--promtra-bg-elev); }
.promtra-trd-prompt-text {
	font-size: 13px;
	color: var(--promtra-text);
	display: block;
	max-width: 480px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ----- dashboard.php ----- */
/* ── Dashboard ── */
.promtra-dash-kpi { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
@media (max-width: 900px) { .promtra-dash-kpi { grid-template-columns: repeat(2, 1fr); } }
.promtra-dash-kpi-card {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); padding: 16px 18px;
}
.promtra-dash-kpi-label { font-size: 11px; color: var(--promtra-text-mute); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.promtra-dash-kpi-value { font-size: 30px; font-weight: 700; line-height: 1; color: var(--promtra-text); margin-bottom: 4px; }
.promtra-dash-kpi-sub   { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--promtra-text-mute); }

/* Spotlight */
.promtra-dash-spotlight {
	display: flex; align-items: center; gap: 14px;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); padding: 14px 18px;
	margin-bottom: 16px;
}
.promtra-dash-spotlight__dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.promtra-dash-spotlight__text { flex: 1; font-size: 13px; color: var(--promtra-text); font-weight: 500; }

/* Three widgets */
.promtra-dash-widgets { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; margin-bottom: 16px; }
@media (max-width: 900px) { .promtra-dash-widgets { grid-template-columns: 1fr; } }
.promtra-dash-widget {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); padding: 16px 18px; display: flex; flex-direction: column;
}
.promtra-dash-widget-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.promtra-dash-widget-title { font-size: 13px; font-weight: 600; color: var(--promtra-text); }
.promtra-dash-widget-link  { font-size: 11px; color: var(--promtra-text-mute); text-decoration: none; }
.promtra-dash-widget-link:hover { color: var(--promtra-text-soft); text-decoration: underline; }

/* Funnel health bars */
.promtra-dash-funnel-rows { display: flex; flex-direction: column; gap: 8px; flex: 1; justify-content: space-around; }
.promtra-dash-funnel-row { display: grid; grid-template-columns: 90px 1fr 36px; align-items: center; gap: 8px; }
.promtra-dash-funnel-label { font-size: 11px; color: var(--promtra-text-soft); display: flex; align-items: center; gap: 5px; }
.promtra-dash-funnel-dot   { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.promtra-dash-funnel-track { height: 6px; border-radius: 3px; background: var(--promtra-bg-base); overflow: hidden; }
.promtra-dash-funnel-fill  { height: 100%; border-radius: 3px; }
.promtra-dash-funnel-pct   { font-size: 11px; font-weight: 600; text-align: right; }

/* Movers list */
.promtra-dash-mover-rows { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.promtra-dash-mover-row  { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; cursor: pointer; transition: background .1s; text-decoration: none; }
.promtra-dash-mover-row:hover { background: var(--promtra-bg-hover); }
.promtra-dash-mover-text { flex: 1; font-size: 12px; color: var(--promtra-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.promtra-dash-mover-delta{ font-size: 12px; font-weight: 700; white-space: nowrap; }

/* Quick jumps */
.promtra-dash-quickjumps { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; margin-bottom: 16px; }
@media (max-width: 1100px) { .promtra-dash-quickjumps { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px)  { .promtra-dash-quickjumps { grid-template-columns: repeat(3, 1fr); } }
.promtra-dash-qj {
	display: flex; flex-direction: column; align-items: center; gap: 6px;
	padding: 14px 8px; text-decoration: none;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); transition: border-color .15s, box-shadow .15s;
	text-align: center;
}
.promtra-dash-qj:hover { border-color: var(--promtra-accent); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.promtra-dash-qj__icon { color: var(--promtra-text-soft); }
.promtra-dash-qj__label { font-size: 11px; font-weight: 600; color: var(--promtra-text); }
.promtra-dash-qj__sub   { font-size: 10px; color: var(--promtra-text-mute); }

/* Setup checklist */
.promtra-dash-setup {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); padding: 16px 18px; margin-bottom: 16px;
}
.promtra-dash-setup-head { font-size: 13px; font-weight: 600; color: var(--promtra-text); margin-bottom: 12px; }
.promtra-dash-setup-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.promtra-dash-setup-item { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.promtra-dash-setup-item a { color: var(--promtra-accent); text-decoration: none; }
.promtra-dash-setup-item a:hover { text-decoration: underline; }

/* Progress bar (early state) */
.promtra-dash-progress-bar { height: 6px; border-radius: 3px; background: var(--promtra-bg-base); overflow: hidden; margin-top: 8px; }
.promtra-dash-progress-fill { height: 100%; border-radius: 3px; background: var(--promtra-accent); transition: width .4s ease; }

/* ----- optimization-aio-detail.php ----- */
/* ── AIO Detail v3 (Website-Check style) ── */
.promtra-aio-detail { display: flex; flex-direction: column; gap: 24px; }

/* Spinner */
.promtra-aio-spinner {
	width: 16px; height: 16px;
	border: 2px solid var(--promtra-border); border-top-color: var(--promtra-accent);
	border-radius: 50%; animation: promtra-aio-spin .7s linear infinite; display: inline-block;
}
@keyframes promtra-aio-spin { to { transform: rotate(360deg); } }

/* Top bar */
.promtra-aio-topbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: space-between; }
.promtra-aio-topbar__left { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.promtra-aio-backlink {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--promtra-text-mute); font-size: 13px; text-decoration: none;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm); padding: 6px 12px;
}
.promtra-aio-backlink:hover { color: var(--promtra-text); background: var(--promtra-bg-hover); }

/* Header grid: score card left, vorprüfung right */
.promtra-aio-header-grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start;
}
.promtra-aio-header-grid .promtra-card { margin: 0; }

/* Score card */
.promtra-aio-score-card { display: flex; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.promtra-aio-score-kpis { flex: 1; min-width: 140px; display: flex; flex-direction: column; gap: 10px; }
.promtra-aio-kpi-row { display: flex; align-items: baseline; gap: 8px; }
.promtra-aio-kpi-val { font-size: 22px; font-weight: 700; letter-spacing: -.03em; color: var(--promtra-text); }
.promtra-aio-kpi-val--ok   { color: var(--promtra-success); }
.promtra-aio-kpi-val--fail { color: #fb923c; }
.promtra-aio-kpi-val--crit { color: #f87171; }
.promtra-aio-kpi-val--mute { color: var(--promtra-text-mute); }
.promtra-aio-kpi-lbl { font-size: 12px; color: var(--promtra-text-mute); }
.promtra-aio-score-note { font-size: 11px; color: var(--promtra-text-mute); margin-top: 6px; line-height: 1.5; }

/* Vorprüfungsbox */
.promtra-aio-vp__url { font-size: 12px; color: var(--promtra-text-mute); word-break: break-all; margin: 0 0 14px; }
.promtra-aio-vp__url a { color: var(--promtra-accent-text); text-decoration: none; }
.promtra-aio-vp__url a:hover { text-decoration: underline; }
.promtra-aio-vp__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.promtra-aio-vp__lbl { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--promtra-text-mute); margin: 0 0 2px; }
.promtra-aio-vp__val { font-size: 13px; color: var(--promtra-text); margin: 0; font-weight: 500; }
.promtra-aio-vp__val--mute { color: var(--promtra-text-mute); font-weight: 400; }

/* Filter bar */
.promtra-aio-filterbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Table */
.promtra-aio-table { width: 100%; border-collapse: collapse; }
.promtra-aio-table thead th {
	padding: 10px 14px; font-size: 11px; font-weight: 600; letter-spacing: .05em;
	text-transform: uppercase; color: var(--promtra-text-mute);
	border-bottom: 1px solid var(--promtra-border); text-align: left; white-space: nowrap;
	background: var(--promtra-bg-elev);
}
.promtra-aio-table thead th.promtra-num { text-align: right; }
.promtra-aio-table tbody tr.promtra-aio-row {
	cursor: pointer; border-bottom: 1px solid var(--promtra-border-soft);
}
.promtra-aio-table tbody tr.promtra-aio-row:hover td { background: var(--promtra-bg-elev-2); }
.promtra-aio-table tbody tr.promtra-aio-detail-row { cursor: default; border-bottom: 1px solid var(--promtra-border-soft); }
.promtra-aio-table tbody tr.promtra-aio-detail-row:hover td { background: transparent !important; }
.promtra-aio-table tbody td { padding: 12px 14px; font-size: 13px; color: var(--promtra-text); vertical-align: middle; }
.promtra-aio-table tbody td.promtra-pr-col-check { width: 32px; padding-right: 0; vertical-align: middle; }
.promtra-aio-table tbody td.promtra-aio-col-cluster { width: 150px; }
.promtra-aio-table tbody td.promtra-aio-col-prio { width: 190px; }
.promtra-aio-table tbody td.promtra-aio-col-status { width: 80px; }
.promtra-aio-table tbody td.promtra-aio-col-actions { width: 72px; text-align: right; }

/* Toggle button inside cell */
.promtra-aio-toggle-btn {
	background: none; border: none; padding: 0; cursor: pointer;
	display: flex; align-items: center; gap: 7px; text-align: left; width: 100%;
}
.promtra-aio-expand-icon { flex-shrink: 0; transition: transform .15s ease; color: var(--promtra-text-mute); }
.promtra-aio-row.is-open .promtra-aio-expand-icon { transform: rotate(90deg); }
.promtra-aio-row-title { font-size: 13px; color: var(--promtra-text); line-height: 1.4; }

/* Priority badges */
.promtra-aio-prio {
	display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .05em;
	text-transform: uppercase; padding: 2px 8px; border-radius: 4px; white-space: nowrap;
}
.promtra-aio-prio--critical { background: rgba(248,113,113,.15); color: #f87171; }
.promtra-aio-prio--high     { background: rgba(251,146,60,.12);  color: #fb923c; }
.promtra-aio-prio--medium   { background: rgba(251,191,36,.12);  color: #f59e0b; }
.promtra-aio-prio--low      { background: rgba(163,230,53,.1);   color: #84cc16; }
.promtra-aio-prio--ok       { background: rgba(52,211,153,.1);   color: var(--promtra-success); }
.promtra-aio-prio--skip     { background: var(--promtra-bg-elev-2); color: var(--promtra-text-mute); border: 1px solid var(--promtra-border); }

/* Status dot */
.promtra-aio-dot {
	display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.promtra-aio-dot--fail { background: #f87171; }
.promtra-aio-dot--ok   { background: #22c55e; }
.promtra-aio-dot--skip { background: var(--promtra-border); }
.promtra-aio-status-label { font-size: 12px; color: var(--promtra-text-mute); display: flex; align-items: center; gap: 5px; }

/* Cluster badge */
.promtra-aio-cluster-badge {
	display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 4px;
	background: var(--promtra-bg-elev-2); color: var(--promtra-text-soft);
	border: 1px solid var(--promtra-border); white-space: nowrap; max-width: 140px;
	overflow: hidden; text-overflow: ellipsis;
}

/* Copy icon button */
.promtra-aio-copy-btn {
	flex-shrink: 0; padding: 4px 8px; border-radius: 4px;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	color: var(--promtra-text-mute); cursor: pointer; font-size: 11px;
	transition: color .15s; line-height: 1.5; white-space: nowrap;
}
.promtra-aio-copy-btn:hover { color: var(--promtra-text); }
.promtra-aio-copy-btn.promtra-copied { color: var(--promtra-success); border-color: rgba(52,211,153,.3); }

/* Expanded detail row body */
.promtra-aio-expand-body {
	padding: 16px 20px 20px 20px; border-top: 1px solid var(--promtra-border-soft);
	background: var(--promtra-bg-elev); display: flex; flex-direction: column; gap: 14px;
}
.promtra-aio-expand-section {}
.promtra-aio-expand-label {
	font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
	color: var(--promtra-text-mute); display: block; margin-bottom: 5px;
}
.promtra-aio-expand-text { font-size: 13px; color: var(--promtra-text-soft); margin: 0; line-height: 1.6; }
.promtra-aio-expand-text--ok { color: var(--promtra-text-soft); }

/* Action items list */
.promtra-aio-action-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.promtra-aio-action-list li {
	display: flex; align-items: flex-start; gap: 8px;
	font-size: 13px; color: var(--promtra-text); line-height: 1.5;
}
.promtra-aio-action-list li::before {
	content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%;
	background: var(--promtra-accent); flex-shrink: 0; margin-top: 7px;
}

/* AI suggestion box */
.promtra-aio-expand-suggestion {
	padding: 14px 16px; border-radius: 8px;
	background: rgba(52,211,153,.05); border: 1px solid rgba(52,211,153,.2);
}
.promtra-aio-expand-suggestion-head {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px;
}
.promtra-aio-expand-suggestion-label {
	display: flex; align-items: center; gap: 6px;
	font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
	color: var(--promtra-success); margin: 0;
}
.promtra-aio-expand-suggestion-text {
	font-size: 13px; color: var(--promtra-text); margin: 0; line-height: 1.65; white-space: pre-wrap;
}

/* Recommendation single-block fallback (old data without bullets) */
.promtra-aio-expand-rec {
	font-size: 13px; color: var(--promtra-text-soft); margin: 0;
	padding: 10px 12px; border-radius: 6px;
	background: rgba(124,92,255,.06); border-left: 2px solid var(--promtra-accent);
	line-height: 1.6;
}

/* Resolve / dismiss action buttons */
.promtra-aio-action-btns { display: flex; align-items: center; gap: 4px; justify-content: flex-end; }
.promtra-aio-resolve-btn,
.promtra-aio-dismiss-btn {
	background: none; border: 1px solid transparent; border-radius: 4px;
	padding: 3px 5px; cursor: pointer; color: var(--promtra-text-mute);
	display: inline-flex; align-items: center; transition: color .15s, border-color .15s, background .15s;
}
.promtra-aio-resolve-btn:hover { color: var(--promtra-success); border-color: rgba(52,211,153,.3); background: rgba(52,211,153,.06); }
.promtra-aio-dismiss-btn:hover { color: #f87171; border-color: rgba(248,113,113,.3); background: rgba(248,113,113,.06); }
.promtra-aio-row.is-resolved td { opacity: .45; }
.promtra-aio-row.is-resolved .promtra-aio-row-title { text-decoration: line-through; }
.promtra-aio-row.is-resolved .promtra-aio-resolve-btn { color: var(--promtra-success); border-color: rgba(52,211,153,.3); }
.promtra-aio-row.is-dismissed { display: none !important; }

/* Relevanz badge */
.promtra-aio-badge--relevant { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 2px 7px; border-radius: 4px; background: rgba(99,102,241,.1); color: #818cf8; white-space: nowrap; }
.promtra-aio-badge--skip     { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 2px 7px; border-radius: 4px; background: var(--promtra-bg-elev-2); color: var(--promtra-text-mute); border: 1px solid var(--promtra-border); white-space: nowrap; }
.promtra-aio-col-relevanz { width: 110px; }

/* Bulk bar */
.promtra-aio-bulkbar {
	display: flex; align-items: center; gap: 10px;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm); padding: 8px 14px;
	font-size: 13px; color: var(--promtra-text-soft);
}
.promtra-aio-bulkbar__count { font-weight: 600; color: var(--promtra-text); margin-right: 4px; }

/* Running/error states */
.promtra-aio-state-box {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); padding: 32px 24px; text-align: center;
}

/* Responsive */
@media (max-width: 960px) {
	.promtra-aio-header-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
	.promtra-aio-topbar { flex-direction: column; align-items: flex-start; }
	.promtra-aio-score-card { flex-direction: column; }
	.promtra-aio-vp__grid { grid-template-columns: 1fr 1fr; }
	.promtra-aio-table tbody td.promtra-aio-col-cluster,
	.promtra-aio-table tbody td.promtra-aio-col-status,
	.promtra-aio-table tbody td.promtra-aio-col-relevanz { display: none; }
	.promtra-aio-table thead th.promtra-aio-col-cluster,
	.promtra-aio-table thead th.promtra-aio-col-status,
	.promtra-aio-table thead th.promtra-aio-col-relevanz { display: none; }
}
@media (max-width: 480px) {
	.promtra-aio-vp__grid { grid-template-columns: 1fr; }
}

/* ----- optimization-aio.php ----- */
/* ── AIO overview ── */
.promtra-aio-url-cell { display:flex;flex-direction:column;gap:2px; }
.promtra-aio-url-cell__title {
	font-size:13px;font-weight:500;color:var(--promtra-text);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;
}
.promtra-aio-url-cell__url {
	font-size:11px;color:var(--promtra-text-mute);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;
}
/* Score badge — solid colours for max contrast */
.promtra-aio-score {
	display:inline-flex;align-items:center;justify-content:center;
	width:40px;height:40px;border-radius:50%;
	font-size:13px;font-weight:700;flex-shrink:0;
	background:var(--promtra-bg-elev-2);color:var(--promtra-text-soft);
	border:2px solid var(--promtra-border);
}
.promtra-aio-score--high { background:#22c55e;color:#fff;border-color:transparent; }
.promtra-aio-score--mid  { background:#f59e0b;color:#fff;border-color:transparent; }
.promtra-aio-score--low  { background:#ef4444;color:#fff;border-color:transparent; }

.promtra-aio-actions { display:flex;gap:4px;align-items:center;justify-content:flex-end; }
.promtra-aio-spinner {
	width:14px;height:14px;
	border:2px solid var(--promtra-border);border-top-color:var(--promtra-accent);
	border-radius:50%;animation:promtra-spin 0.7s linear infinite;
	display:inline-block;flex-shrink:0;vertical-align:middle;
}
.promtra-aio-add-err { font-size:12px;color:var(--promtra-error);margin-top:4px; }

/* Clickable rows */
[data-promtra-aio-row] { cursor:pointer; }
[data-promtra-aio-row]:hover td { background:var(--promtra-bg-elev-2); }
[data-promtra-aio-row] .promtra-aio-actions button,
[data-promtra-aio-row] .promtra-aio-actions a { position:relative;z-index:1; }

/* Issues mini-badges */
.promtra-aio-issues { display:flex;gap:4px;align-items:center;flex-wrap:wrap; }

/* Add-URL inline form inside toolbar */
.promtra-aio-add-row {
	display:flex;gap:8px;align-items:center;flex-wrap:wrap;
	padding:10px 0 4px;border-top:1px solid var(--promtra-border);
	margin-top:6px;
}
.promtra-aio-add-row[hidden] { display:none; }
.promtra-aio-add-row .promtra-input { width:320px;max-width:100%; }

/* "No results" row */
.promtra-aio-noresults { display:none; }
.promtra-aio-noresults.is-visible { display:table-row; }

/* ----- optimization-content-detail.php ----- */
/* ── Content Detail v2 ── */
.promtra-ca-detail { display: flex; flex-direction: column; gap: 24px; }

/* Spinner */
.promtra-ca-spinner {
	width: 16px; height: 16px; border: 2px solid var(--promtra-border);
	border-top-color: var(--promtra-accent); border-radius: 50%;
	animation: promtra-ca-spin .7s linear infinite; display: inline-block;
}
@keyframes promtra-ca-spin { to { transform: rotate(360deg); } }

/* Topbar */
.promtra-ca-topbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: space-between; }
.promtra-ca-topbar__left { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.promtra-ca-backlink {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--promtra-text-mute); font-size: 13px; text-decoration: none;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius-sm); padding: 6px 12px;
}
.promtra-ca-backlink:hover { color: var(--promtra-text); background: var(--promtra-bg-hover); }

/* Header grid */
.promtra-ca-header-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.promtra-ca-header-grid .promtra-card { margin: 0; }
.promtra-ca-score-card { display: flex; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.promtra-ca-kpis { flex: 1; min-width: 140px; display: flex; flex-direction: column; gap: 10px; }
.promtra-ca-kpi-row { display: flex; align-items: baseline; gap: 8px; }
.promtra-ca-kpi-val { font-size: 22px; font-weight: 700; letter-spacing: -.03em; color: var(--promtra-text); }
.promtra-ca-kpi-val--open { color: #fb923c; }
.promtra-ca-kpi-val--ok   { color: var(--promtra-success); }
.promtra-ca-kpi-lbl { font-size: 12px; color: var(--promtra-text-mute); }
.promtra-ca-info__url { font-size: 12px; color: var(--promtra-text-mute); word-break: break-all; margin: 0 0 14px; }
.promtra-ca-info__url a { color: var(--promtra-accent-text); text-decoration: none; }
.promtra-ca-info__url a:hover { text-decoration: underline; }
.promtra-ca-info__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.promtra-ca-info__lbl { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--promtra-text-mute); margin: 0 0 2px; }
.promtra-ca-info__val { font-size: 13px; color: var(--promtra-text); margin: 0; font-weight: 500; }

/* Two-pane */
.promtra-ca-twopane { display: grid; grid-template-columns: 55% 1fr; gap: 20px; align-items: start; }

/* Text pane (left) */
.promtra-ca-text-pane {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); overflow: hidden;
}
.promtra-ca-text-pane__head {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 12px 16px; border-bottom: 1px solid var(--promtra-border);
	font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--promtra-text-mute);
}
.promtra-ca-text-scroll {
	padding: 20px 20px 24px; max-height: 720px; overflow-y: auto;
	font-size: 13.5px; line-height: 1.75; color: var(--promtra-text-soft);
}
.promtra-ca-text-scroll p { margin: 0 0 12px; }
.promtra-ca-text-scroll p:last-child { margin-bottom: 0; }

/* Passage marks */
.promtra-ca-mark { border-radius: 3px; padding: 1px 2px; cursor: pointer; transition: opacity .15s; }
.promtra-ca-mark--critical { background: rgba(248,113,113,.25); border-bottom: 2px solid #f87171; }
.promtra-ca-mark--high     { background: rgba(251,146,60,.2);  border-bottom: 2px solid #fb923c; }
.promtra-ca-mark--medium   { background: rgba(251,191,36,.18); border-bottom: 2px solid #f59e0b; }
.promtra-ca-mark--low      { background: rgba(163,230,53,.12); border-bottom: 2px solid #84cc16; }
.promtra-ca-mark--info     { background: rgba(99,102,241,.12); border-bottom: 2px solid #818cf8; }
.promtra-ca-mark--source   { background: rgba(251,191,36,.2);  border-bottom: 2px solid #f59e0b; border-style: dashed; }
.promtra-ca-mark--applied  { background: rgba(52,211,153,.12); border-bottom: 2px solid #34d399; }
.promtra-ca-mark.is-active { outline: 2px solid var(--promtra-accent); outline-offset: 2px; }

/* Hover / click popup */
.promtra-ca-popup {
	position: fixed; z-index: 99999;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); box-shadow: 0 8px 32px rgba(0,0,0,.28);
	padding: 14px 16px; max-width: 340px; min-width: 220px;
	display: none; pointer-events: auto;
}
.promtra-ca-popup__sev {
	font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; margin: 0 0 4px;
}
.promtra-ca-popup__title { font-size: 12.5px; font-weight: 700; color: var(--promtra-text); margin: 0 0 8px; line-height: 1.4; }
.promtra-ca-popup__text {
	font-size: 12px; color: var(--promtra-text-soft); line-height: 1.6;
	margin: 0 0 12px; max-height: 140px; overflow-y: auto; white-space: pre-wrap;
	background: var(--promtra-bg-elev-2); border: 1px solid var(--promtra-border);
	border-radius: 4px; padding: 8px 10px;
}
.promtra-ca-popup__btns { display: flex; gap: 6px; }
.promtra-ca-popup__apply {
	flex: 1; padding: 6px 12px; font-size: 11px; font-weight: 600; border-radius: 4px;
	background: rgba(52,211,153,.12); border: 1px solid rgba(52,211,153,.3);
	color: var(--promtra-success); cursor: pointer; transition: all .15s;
}
.promtra-ca-popup__apply:hover { background: rgba(52,211,153,.22); }
.promtra-ca-popup__apply:disabled { opacity: .5; cursor: default; }
.promtra-ca-popup__close {
	padding: 6px 10px; font-size: 11px; border-radius: 4px;
	background: var(--promtra-bg-elev-2); border: 1px solid var(--promtra-border);
	color: var(--promtra-text-mute); cursor: pointer;
}
.promtra-ca-popup--no-suggestion .promtra-ca-popup__apply { display: none; }

/* Right pane: inner tabs */
.promtra-ca-right-pane {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); overflow: hidden; display: flex; flex-direction: column;
}
.promtra-ca-inner-tab-bar {
	display: flex; border-bottom: 1px solid var(--promtra-border); background: var(--promtra-bg-elev); flex-shrink: 0;
}
.promtra-ca-inner-tab-btn {
	padding: 10px 14px; font-size: 12px; font-weight: 500; background: none; border: none;
	border-bottom: 2px solid transparent; color: var(--promtra-text-mute); cursor: pointer;
	transition: color .15s, border-color .15s; margin-bottom: -1px; white-space: nowrap;
}
.promtra-ca-inner-tab-btn:hover { color: var(--promtra-text); }
.promtra-ca-inner-tab-btn.is-active { color: var(--promtra-accent-text); border-bottom-color: var(--promtra-accent); }
.promtra-ca-inner-tab-badge {
	display: inline-block; min-width: 16px; height: 16px; line-height: 16px; text-align: center;
	font-size: 9px; font-weight: 700; border-radius: 8px;
	background: var(--promtra-bg-elev-2); color: var(--promtra-text-mute); padding: 0 4px; margin-left: 4px;
}
.promtra-ca-inner-tab-btn.is-active .promtra-ca-inner-tab-badge {
	background: rgba(124,92,255,.15); color: var(--promtra-accent-text);
}
.promtra-ca-itab-content { padding: 14px 16px; overflow-y: auto; max-height: 668px; }

/* Keyword table in right pane */
.promtra-ca-kw-rt { width: 100%; border-collapse: collapse; }
.promtra-ca-kw-rt thead th {
	padding: 8px 10px; font-size: 9px; font-weight: 700; letter-spacing: .06em;
	text-transform: uppercase; color: var(--promtra-text-mute);
	border-bottom: 1px solid var(--promtra-border); text-align: left; background: var(--promtra-bg-elev);
}
.promtra-ca-kw-rt tbody td {
	padding: 8px 10px; font-size: 12px; color: var(--promtra-text);
	border-bottom: 1px solid var(--promtra-border-soft); vertical-align: middle;
}
.promtra-ca-kw-rt tbody tr:hover td { background: var(--promtra-bg-elev-2); }
.promtra-ca-kw-volume { font-size: 12px; font-weight: 600; color: var(--promtra-text-soft); }
.promtra-ca-kw-volume--high { color: var(--promtra-success); }
.promtra-ca-kw-volume--none { color: var(--promtra-text-mute); }
.promtra-ca-kw-badge {
	display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .05em;
	text-transform: uppercase; padding: 2px 5px; border-radius: 3px;
	background: rgba(124,92,255,.1); color: var(--promtra-accent-text);
}
.promtra-ca-kw-badge--sec { background: var(--promtra-bg-elev-2); color: var(--promtra-text-mute); border: 1px solid var(--promtra-border); }
.promtra-ca-kw-badge--brand { background: rgba(251,191,36,.1); color: #f59e0b; }
.promtra-ca-kw-badge--link { background: rgba(52,211,153,.1); color: var(--promtra-success); }
.promtra-ca-kw-intext {
	display: inline-flex; align-items: center; gap: 3px;
	font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 3px;
}
.promtra-ca-kw-intext--yes { background: rgba(52,211,153,.1); color: var(--promtra-success); }
.promtra-ca-kw-intext--no  { background: var(--promtra-bg-elev-2); color: var(--promtra-text-mute); border: 1px solid var(--promtra-border); }

/* Cluster tab */
.promtra-ca-cg { margin-bottom: 18px; }
.promtra-ca-cg:last-child { margin-bottom: 0; }
.promtra-ca-cg__head {
	font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--promtra-text-mute); margin: 0 0 8px; display: flex; align-items: center; gap: 8px;
}
.promtra-ca-cg__stat { font-weight: 400; }
.promtra-ca-cg__list { display: flex; flex-direction: column; gap: 4px; }
.promtra-ca-cg__row {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 5px 8px; border-radius: 4px; background: var(--promtra-bg-elev-2);
}
.promtra-ca-cg__kw { font-size: 12px; color: var(--promtra-text); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.promtra-ca-cg__vol { font-size: 11px; color: var(--promtra-text-mute); flex-shrink: 0; }
.promtra-ca-cg__link { font-size: 10px; color: var(--promtra-accent-text); text-decoration: none; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex-shrink: 0; }
.promtra-ca-cg__link:hover { text-decoration: underline; }

/* Priorisierung in right pane */
.promtra-ca-rec-card {
	padding: 16px; border: 1px solid var(--promtra-border); border-radius: var(--promtra-radius-sm);
	display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px;
	background: var(--promtra-bg-elev-2);
}
.promtra-ca-rec-card__title { font-size: 13px; font-weight: 700; color: var(--promtra-text); margin: 0; }
.promtra-ca-rec-bef-aft { display: grid; grid-template-columns: 1fr; gap: 8px; }
.promtra-ca-rec-col { display: flex; flex-direction: column; gap: 6px; }
.promtra-ca-rec-col__label {
	font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--promtra-text-mute); display: flex; align-items: center; gap: 4px;
}
.promtra-ca-rec-col__label--before { color: #fb923c; }
.promtra-ca-rec-col__label--after  { color: var(--promtra-success); }
.promtra-ca-rec-col__text {
	font-size: 12px; color: var(--promtra-text); line-height: 1.6; white-space: pre-wrap;
	padding: 8px 10px; border-radius: 4px;
}
.promtra-ca-rec-col__text--before { background: rgba(251,146,60,.07); border: 1px solid rgba(251,146,60,.2); }
.promtra-ca-rec-col__text--after  { background: rgba(52,211,153,.06); border: 1px solid rgba(52,211,153,.2); }
.promtra-ca-rec-card__actions { display: flex; gap: 6px; justify-content: flex-end; }

/* Matrix table */
.promtra-ca-matrix-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.promtra-ca-matrix-table thead th {
	padding: 7px 10px; font-size: 11px; font-weight: 600; letter-spacing: .05em;
	text-transform: uppercase; color: var(--promtra-text-mute);
	border-bottom: 1px solid var(--promtra-border); text-align: left; background: var(--promtra-bg-elev);
}
.promtra-ca-matrix-table tbody td {
	padding: 8px 10px; font-size: 12px; color: var(--promtra-text);
	border-bottom: 1px solid var(--promtra-border-soft); vertical-align: middle;
}
.promtra-ca-prio-dot { display: inline-flex; gap: 2px; }
.promtra-ca-prio-dot span { width: 7px; height: 7px; border-radius: 2px; background: var(--promtra-accent); }
.promtra-ca-prio-dot span.dim { background: var(--promtra-bg-elev-2); border: 1px solid var(--promtra-border); }

/* Severity badge */
.promtra-ca-finding__sev {
	display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .05em;
	text-transform: uppercase; padding: 2px 6px; border-radius: 3px; flex-shrink: 0;
}
.promtra-ca-sev--critical { background: rgba(248,113,113,.15); color: #f87171; }
.promtra-ca-sev--high     { background: rgba(251,146,60,.12);  color: #fb923c; }
.promtra-ca-sev--medium   { background: rgba(251,191,36,.12);  color: #f59e0b; }
.promtra-ca-sev--low      { background: rgba(163,230,53,.1);   color: #84cc16; }
.promtra-ca-sev--info     { background: rgba(99,102,241,.1);   color: #818cf8; }

/* Copy button */
.promtra-ca-copy-btn {
	padding: 3px 8px; border-radius: 4px; font-size: 11px; white-space: nowrap;
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	color: var(--promtra-text-mute); cursor: pointer; transition: color .15s;
}
.promtra-ca-copy-btn:hover { color: var(--promtra-text); }
.promtra-ca-copy-btn.is-copied { color: var(--promtra-success); border-color: rgba(52,211,153,.3); }

/* Export bar */
.promtra-ca-export { display: flex; gap: 8px; flex-wrap: wrap; padding: 16px 0 0; border-top: 1px solid var(--promtra-border); margin-top: 8px; }
.promtra-ca-export__title { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--promtra-text-mute); align-self: center; margin-right: 4px; }

/* Running box */
.promtra-ca-state-box {
	background: var(--promtra-bg-elev); border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius); padding: 40px 24px; text-align: center;
}

/* Responsive */
@media (max-width: 960px) {
	.promtra-ca-header-grid { grid-template-columns: 1fr; }
	.promtra-ca-twopane { grid-template-columns: 1fr; }
	.promtra-ca-text-scroll { max-height: 400px; }
}
@media (max-width: 680px) {
	.promtra-ca-topbar { flex-direction: column; align-items: flex-start; }
	.promtra-ca-info__grid { grid-template-columns: 1fr; }
}

/* ----- optimization-content.php ----- */
.promtra-ca-url-cell { display:flex;flex-direction:column;gap:2px; }
.promtra-ca-url-cell__title {
	font-size:13px;font-weight:500;color:var(--promtra-text);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px;
}
.promtra-ca-url-cell__url {
	font-size:11px;color:var(--promtra-text-mute);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px;
}
.promtra-ca-score {
	display:inline-flex;align-items:center;justify-content:center;
	width:40px;height:40px;border-radius:50%;
	font-size:13px;font-weight:700;flex-shrink:0;
	background:var(--promtra-bg-elev-2);color:var(--promtra-text-soft);
	border:2px solid var(--promtra-border);
}
.promtra-ca-score--high { background:#22c55e;color:#fff;border-color:transparent; }
.promtra-ca-score--mid  { background:#f59e0b;color:#fff;border-color:transparent; }
.promtra-ca-score--low  { background:#ef4444;color:#fff;border-color:transparent; }
.promtra-ca-spinner {
	width:14px;height:14px;
	border:2px solid var(--promtra-border);border-top-color:var(--promtra-accent);
	border-radius:50%;animation:promtra-spin 0.7s linear infinite;
	display:inline-block;flex-shrink:0;vertical-align:middle;margin-right:4px;
}
[data-promtra-ca-row] { cursor:pointer; }
[data-promtra-ca-row]:hover td { background:var(--promtra-bg-elev-2); }
[data-promtra-ca-row] .promtra-ca-actions button { position:relative;z-index:1; }
.promtra-ca-actions { display:flex;gap:4px;align-items:center;justify-content:flex-end; }
.promtra-ca-noresults { display:none; }
.promtra-ca-noresults.is-visible { display:table-row; }
.promtra-ca-add-row {
	display:flex;gap:8px;align-items:center;flex-wrap:wrap;
	padding:10px 0 4px;border-top:1px solid var(--promtra-border);margin-top:6px;
}
.promtra-ca-add-row[hidden] { display:none; }
.promtra-ca-add-err { font-size:12px;color:var(--promtra-error);margin-top:4px; }
.promtra-ca-source-tag { font-size:11px;color:var(--promtra-text-mute);display:inline-flex;align-items:center;gap:3px; }

/* ----- optimization-website-check-preview.php ----- */
/* ── Preview-Wrapper ── */
.promtra-preview-block {
	margin-bottom: 48px;
}
.promtra-preview-block__title {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	margin-bottom: 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--promtra-border);
}
.promtra-preview-demos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
@media (max-width: 1100px) {
	.promtra-preview-demos { grid-template-columns: 1fr; }
}
.promtra-preview-demo-label {
	font-size: 11px;
	color: var(--promtra-text-mute);
	margin-bottom: 8px;
}

/* ══════════════════════════════════════════════════════════════
   VARIANTE A — Score Hero: Große Zahl + Gradient-Balken
   ══════════════════════════════════════════════════════════════ */
.promtra-wc-va {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 20px 22px;
	box-shadow: var(--promtra-shadow);
}
.promtra-wc-va__top {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 16px;
}
.promtra-wc-va__score-block {
	flex-shrink: 0;
	text-align: center;
	min-width: 72px;
}
.promtra-wc-va__number {
	font-size: 52px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
}
.promtra-wc-va__of-100 {
	font-size: 11px;
	color: var(--promtra-text-mute);
	margin-top: 2px;
}
.promtra-wc-va__rating {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 999px;
	margin-top: 6px;
	color: #fff;
}
.promtra-wc-va__right {
	flex: 1;
	min-width: 0;
}
.promtra-wc-va__meta {
	font-size: 11px;
	color: var(--promtra-text-mute);
	margin-bottom: 10px;
}
.promtra-wc-va__bar-track {
	height: 8px;
	border-radius: 6px;
	background: var(--promtra-bg-elev-2);
	overflow: hidden;
	position: relative;
	margin-bottom: 12px;
}
.promtra-wc-va__bar-fill {
	height: 100%;
	border-radius: 6px;
	min-width: 3px; /* immer mindestens 3px sichtbar, auch bei Score=1 */
	transition: width .4s ease;
}
.promtra-wc-va__chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.promtra-wc-va__chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid transparent;
}
.promtra-wc-va__chip--crit  { color: #ef4444; background: rgba(239,68,68,.1);  border-color: rgba(239,68,68,.2); }
.promtra-wc-va__chip--warn  { color: #f59e0b; background: rgba(245,158,11,.1); border-color: rgba(245,158,11,.2); }
.promtra-wc-va__chip--info  { color: var(--promtra-text-mute); background: var(--promtra-bg-elev-2); border-color: var(--promtra-border); }
.promtra-wc-va__sep {
	height: 1px;
	background: var(--promtra-border-soft);
	margin-bottom: 12px;
}
.promtra-wc-va__cats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 5px 12px;
}
.promtra-wc-va__cat-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
}
.promtra-wc-va__cat-name {
	color: var(--promtra-text-mute);
	min-width: 0;
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.promtra-wc-va__dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	flex-shrink: 0;
}
.promtra-wc-va__cat-num {
	font-size: 10px;
	font-weight: 600;
	color: var(--promtra-text-soft);
}
.promtra-wc-va__actions {
	margin-top: 14px;
	display: flex;
	justify-content: flex-end;
}

/* ══════════════════════════════════════════════════════════════
   VARIANTE B — Arc Gauge (Halbkreis-Tachometer)
   ══════════════════════════════════════════════════════════════ */
.promtra-wc-vb {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 20px 22px;
	box-shadow: var(--promtra-shadow);
}
.promtra-wc-vb__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 16px;
}
.promtra-wc-vb__gauge-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
}
.promtra-wc-vb__gauge-inner {
	position: relative;
	width: 120px;
	height: 66px; /* half of viewBox height */
}
.promtra-wc-vb__gauge-label {
	text-align: center;
	margin-top: -4px;
}
.promtra-wc-vb__gauge-num {
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}
.promtra-wc-vb__gauge-sublabel {
	font-size: 10px;
	color: var(--promtra-text-mute);
	margin-top: 2px;
}
.promtra-wc-vb__gauge-rating {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-top: 4px;
}
.promtra-wc-vb__stats {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
}
.promtra-wc-vb__stat-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
}
.promtra-wc-vb__stat-icon {
	width: 26px; height: 26px;
	border-radius: 7px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	flex-shrink: 0;
}
.promtra-wc-vb__stat-icon--crit { background: rgba(239,68,68,.12);  color: #ef4444; }
.promtra-wc-vb__stat-icon--warn { background: rgba(245,158,11,.12); color: #f59e0b; }
.promtra-wc-vb__stat-icon--info { background: var(--promtra-bg-elev-2); color: var(--promtra-text-mute); }
.promtra-wc-vb__stat-label {
	color: var(--promtra-text-mute);
	flex: 1;
}
.promtra-wc-vb__stat-num {
	font-weight: 700;
	color: var(--promtra-text);
}
.promtra-wc-vb__sep {
	height: 1px;
	background: var(--promtra-border-soft);
	margin-bottom: 12px;
}
.promtra-wc-vb__cats-title {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	margin-bottom: 8px;
}
.promtra-wc-vb__cat-bars {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.promtra-wc-vb__cat-bar-row {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
}
.promtra-wc-vb__cat-bar-name {
	width: 100px;
	color: var(--promtra-text-mute);
	flex-shrink: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.promtra-wc-vb__cat-bar-track {
	flex: 1;
	height: 5px;
	border-radius: 4px;
	background: var(--promtra-bg-elev-2);
	overflow: visible;
	position: relative;
}
.promtra-wc-vb__cat-bar-segments {
	display: flex;
	height: 100%;
	border-radius: 4px;
	overflow: hidden;
}
.promtra-wc-vb__cat-bar-seg {
	height: 100%;
}
.promtra-wc-vb__cat-bar-seg--crit { background: #ef4444; }
.promtra-wc-vb__cat-bar-seg--warn { background: #f59e0b; }
.promtra-wc-vb__cat-bar-seg--info { background: var(--promtra-text-mute); opacity: .5; }
.promtra-wc-vb__cat-count {
	font-size: 10px;
	color: var(--promtra-text-mute);
	min-width: 20px;
	text-align: right;
}
.promtra-wc-vb__meta {
	margin-top: 12px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	color: var(--promtra-text-mute);
}

/* ══════════════════════════════════════════════════════════════
   VARIANTE C — KPI-Kacheln + kompakte Kategorieliste
   ══════════════════════════════════════════════════════════════ */
.promtra-wc-vc {
	background: var(--promtra-bg-elev);
	border: 1px solid var(--promtra-border);
	border-radius: var(--promtra-radius);
	padding: 20px 22px;
	box-shadow: var(--promtra-shadow);
}
.promtra-wc-vc__kpis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-bottom: 16px;
}
.promtra-wc-vc__kpi {
	border-radius: var(--promtra-radius-sm);
	padding: 12px 10px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.promtra-wc-vc__kpi--score {
	background: linear-gradient(135deg, rgba(124,92,255,.18), rgba(124,92,255,.04));
	border: 1px solid rgba(124,92,255,.25);
}
.promtra-wc-vc__kpi--crit {
	background: linear-gradient(135deg, rgba(239,68,68,.12), rgba(239,68,68,.03));
	border: 1px solid rgba(239,68,68,.2);
}
.promtra-wc-vc__kpi--warn {
	background: linear-gradient(135deg, rgba(245,158,11,.12), rgba(245,158,11,.03));
	border: 1px solid rgba(245,158,11,.2);
}
.promtra-wc-vc__kpi--info {
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
}
.promtra-wc-vc__kpi-num {
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}
.promtra-wc-vc__kpi--score .promtra-wc-vc__kpi-num { font-size: 32px; }
.promtra-wc-vc__kpi-label {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-top: 5px;
	color: var(--promtra-text-mute);
}
.promtra-wc-vc__kpi--score .promtra-wc-vc__kpi-label { color: var(--promtra-accent-text); }
.promtra-wc-vc__kpi--crit  .promtra-wc-vc__kpi-num { color: #ef4444; }
.promtra-wc-vc__kpi--warn  .promtra-wc-vc__kpi-num { color: #f59e0b; }
.promtra-wc-vc__kpi--info  .promtra-wc-vc__kpi-num { color: var(--promtra-text-soft); }
.promtra-wc-vc__kpi-sublabel {
	font-size: 10px;
	color: var(--promtra-text-mute);
	margin-top: 2px;
}
.promtra-wc-vc__sep {
	height: 1px;
	background: var(--promtra-border-soft);
	margin-bottom: 12px;
}
.promtra-wc-vc__cats-title {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--promtra-text-mute);
	margin-bottom: 8px;
}
.promtra-wc-vc__cat-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.promtra-wc-vc__cat-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	padding: 4px 10px 4px 8px;
	border-radius: 999px;
	background: var(--promtra-bg-elev-2);
	border: 1px solid var(--promtra-border);
	color: var(--promtra-text-soft);
	cursor: default;
}
.promtra-wc-vc__cat-chip-dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	flex-shrink: 0;
}
.promtra-wc-vc__meta {
	margin-top: 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	color: var(--promtra-text-mute);
}

/* ----- optimization-website-check.php ----- */
.promtra-wc-score { background:var(--promtra-bg-elev); border:1px solid var(--promtra-border); border-radius:var(--promtra-radius); padding:20px 22px; box-shadow:var(--promtra-shadow); position:relative; }
.promtra-wc-score__csv { position:absolute; top:14px; right:14px; }
.promtra-wc-score__header { display:flex; align-items:flex-start; gap:20px; margin-bottom:16px; }
.promtra-wc-score__gauge-wrap { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
.promtra-wc-score__gauge-meta { text-align:center; margin-top:4px; }
.promtra-wc-score__gauge-rating { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-top:3px; }
.promtra-wc-score__gauge-sublabel { font-size:10px; color:var(--promtra-text-mute); margin-top:1px; }
.promtra-wc-score__stats { flex:1; display:flex; flex-direction:column; gap:8px; justify-content:center; }
.promtra-wc-score__stat { display:flex; align-items:center; gap:10px; font-size:12px; }
.promtra-wc-score__stat-icon { width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; }
.promtra-wc-score__stat-icon--crit { background:rgba(239,68,68,.12);  color:#ef4444; }
.promtra-wc-score__stat-icon--warn { background:rgba(245,158,11,.12); color:#f59e0b; }
.promtra-wc-score__stat-icon--info { background:var(--promtra-bg-elev-2); color:var(--promtra-text-mute); border:1px solid var(--promtra-border); }
.promtra-wc-score__stat-label { color:var(--promtra-text-mute); flex:1; }
.promtra-wc-score__sep { height:1px; background:var(--promtra-border-soft); margin-bottom:12px; }
.promtra-wc-score__cats-title { font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--promtra-text-mute); margin-bottom:8px; }
.promtra-wc-score__cat-bars { display:flex; flex-direction:column; gap:6px; }
.promtra-wc-score__cat-row { display:flex; align-items:center; gap:8px; font-size:11px; }
.promtra-wc-score__cat-name { width:108px; color:var(--promtra-text-mute); flex-shrink:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.promtra-wc-score__cat-track { flex:1; height:5px; border-radius:4px; background:var(--promtra-bg-elev-2); overflow:hidden; }
.promtra-wc-score__cat-segs { display:flex; height:100%; border-radius:4px; overflow:hidden; }
.promtra-wc-score__cat-seg--crit { background:#ef4444; }
.promtra-wc-score__cat-seg--warn { background:#f59e0b; }
.promtra-wc-score__cat-seg--info { background:var(--promtra-text-mute); opacity:.4; }
.promtra-wc-score__cat-count { font-size:10px; color:var(--promtra-text-mute); min-width:18px; text-align:right; }
.promtra-wc-score__footer { display:flex; justify-content:space-between; align-items:center; margin-top:14px; font-size:11px; color:var(--promtra-text-mute); }
.promtra-wc-issue-row { cursor: pointer; }
.promtra-wc-detail-row { cursor: default; }
.promtra-wc-detail-row:hover td { background: transparent !important; }

/* ----- prompt-competitors.php ----- */
/* ── Konkurrenz page layout ── */
.promtra-comp-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.promtra-comp-toolbar__spacer { flex:1; }
/* KPI grid */
.promtra-comp-kpi { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.promtra-comp-kpi__card {
	background:var(--promtra-bg-elev); border:1px solid var(--promtra-border);
	border-radius:var(--promtra-radius); padding:16px 18px;
}
.promtra-comp-kpi__label { font-size:11px; color:var(--promtra-text-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.promtra-comp-kpi__value { font-size:28px; font-weight:600; line-height:1; color:var(--promtra-text); margin-bottom:4px; }
.promtra-comp-kpi__sub { font-size:12px; color:var(--promtra-text-mute); }

/* Chart card wrapper */
.promtra-comp-chart-wrap {
	background:var(--promtra-bg-elev); border:1px solid var(--promtra-border);
	border-radius:var(--promtra-radius); padding:18px; margin-bottom:20px;
}
.promtra-comp-chart-empty { color:var(--promtra-text-mute); font-size:13px; text-align:center; padding:30px 0; }

.promtra-comp-vis-ok { color:var(--promtra-success); }
.promtra-comp-vis-no { color:var(--promtra-text-mute); }

/* Gap bars */
.promtra-gap-bars { display:flex; flex-direction:column; gap:5px; min-width:200px; }
.promtra-gap-bar-row { display:grid; grid-template-columns:110px 1fr 44px; align-items:center; gap:6px; font-size:11px; }
.promtra-gap-bar-label { color:var(--promtra-text-mute); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.promtra-gap-bar-track { height:5px; background:var(--promtra-border-soft); border-radius:3px; overflow:hidden; }
.promtra-gap-bar-fill { height:100%; border-radius:3px; }
.promtra-gap-bar-pct { font-weight:600; color:var(--promtra-text); text-align:right; }
.promtra-gap-score { display:inline-flex; align-items:center; font-size:11px; font-weight:700; padding:3px 8px; border-radius:4px; white-space:nowrap; }
.promtra-gap-runs { font-size:11px; color:var(--promtra-text-mute); white-space:nowrap; }

/* Gap badge */
.promtra-comp-gap-badge {
	display:inline-flex; align-items:center; gap:4px;
	padding:2px 8px; border-radius:4px; font-size:11px; font-weight:500;
}

/* Color dot in table */
.promtra-comp-list__dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.promtra-comp-list__actions { display:flex; gap:6px; justify-content:flex-end; }

/* Modal specifics */
#promtra-comp-modal .promtra-modal__dialog { max-width:500px; }

/* Insights grid: SoV + AI heatmap side by side */
.promtra-comp-insights-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin-bottom:20px;
	align-items:stretch;
}
@media (max-width:860px) {
	.promtra-comp-insights-grid { grid-template-columns:1fr; }
}
.promtra-comp-insights-grid .promtra-sov-card,
.promtra-comp-insights-grid .promtra-ai-heatmap-card { margin-bottom:0; }

/* Share-of-Voice card */
.promtra-sov-card {
	background:var(--promtra-bg-elev); border:1px solid var(--promtra-border);
	border-radius:var(--promtra-radius); padding:18px; margin-bottom:20px;
	display:flex; flex-direction:column;
}
.promtra-sov-head { margin-bottom:14px; }
.promtra-sov-head h3 { font-size:14px; font-weight:600; color:var(--promtra-text); margin:0 0 2px; }
.promtra-sov-head p { font-size:12px; color:var(--promtra-text-mute); margin:0; }
.promtra-sov-body { display:flex; align-items:center; gap:28px; flex-wrap:wrap; flex:1; }
.promtra-sov-donut-wrap { position:relative; flex-shrink:0; width:260px; height:260px; }
.promtra-sov-donut { width:260px; height:260px; transform:rotate(-90deg); }
.promtra-sov-center {
	position:absolute; inset:0; display:flex; flex-direction:column;
	align-items:center; justify-content:center; pointer-events:none;
}
.promtra-sov-center__label { font-size:10px; color:var(--promtra-text-mute); text-transform:uppercase; letter-spacing:.05em; }
.promtra-sov-center__val { font-size:22px; font-weight:700; color:var(--promtra-text); line-height:1.1; }
.promtra-sov-legend { flex:1; min-width:160px; display:flex; flex-direction:column; gap:7px; list-style:none; margin:0; padding:0; }
.promtra-sov-row { display:grid; grid-template-columns:10px 1fr auto 36px; align-items:center; gap:8px; font-size:12px; cursor:pointer; transition:opacity .2s ease; }
.promtra-sov-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.promtra-sov-bar-wrap { height:4px; background:var(--promtra-border); border-radius:2px; overflow:hidden; }
.promtra-sov-bar-fill { height:100%; border-radius:2px; transition:width .3s; }
.promtra-sov-pct { font-weight:600; text-align:right; color:var(--promtra-text); font-size:12px; white-space:nowrap; }
.promtra-sov-name { color:var(--promtra-text-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:400; }
.promtra-sov-seg { transition:opacity .2s ease; cursor:pointer; }
.promtra-sov-donut.is-hover .promtra-sov-seg:not(.is-active) { opacity:.15; }
.promtra-sov-legend.is-hover .promtra-sov-row:not(.is-active) { opacity:.2; }

/* AI-System Heatmap */
.promtra-ai-heatmap-card {
	background:var(--promtra-bg-elev); border:1px solid var(--promtra-border);
	border-radius:var(--promtra-radius); padding:18px; margin-bottom:20px;
}
.promtra-ai-heatmap-head { margin-bottom:14px; }
.promtra-ai-heatmap-head h3 { font-size:14px; font-weight:600; color:var(--promtra-text); margin:0 0 2px; }
.promtra-ai-heatmap-head p { font-size:12px; color:var(--promtra-text-mute); margin:0; }
.promtra-ai-hm-tbl { width:100%; border-collapse:collapse; font-size:12px; }
.promtra-ai-hm-tbl th {
	padding:7px 12px; text-align:center; font-size:11px; font-weight:600;
	letter-spacing:.05em; text-transform:uppercase; color:var(--promtra-text-mute);
	border-bottom:1px solid var(--promtra-border);
}
.promtra-ai-hm-tbl th:first-child { text-align:left; }
.promtra-ai-hm-tbl td { padding:8px 12px; border-bottom:1px solid var(--promtra-border-soft); }
.promtra-ai-hm-tbl tbody tr:last-child td { border-bottom:none; }
.promtra-ai-hm-cell { display:flex; flex-direction:column; align-items:center; gap:2px; }
.promtra-ai-hm-pct { font-weight:600; font-size:12px; }
.promtra-ai-hm-bar { width:36px; height:3px; border-radius:2px; }
.promtra-ai-hm-entity { display:flex; align-items:center; gap:7px; }
.promtra-ai-hm-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }

/* Overlap analysis */
.promtra-overlap-legend { display:flex; gap:16px; flex-wrap:wrap; padding:10px 18px 0; font-size:11px; color:var(--promtra-text-mute); margin-bottom:2px; }
.promtra-overlap-leg-item { display:flex; align-items:center; gap:5px; position:relative; cursor:default; }
.promtra-overlap-leg-item .promtra-tip {
	position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%);
	background:var(--promtra-bg-inv,#1e1e2e); color:var(--promtra-text-inv,#f0f0f0);
	font-size:11px; line-height:1.5; padding:6px 11px;
	border-radius:5px; pointer-events:none; opacity:0; transition:opacity .1s;
	z-index:200; width:320px; white-space:normal; text-align:center;
}
.promtra-overlap-leg-item:hover .promtra-tip { opacity:1; }
.promtra-overlap-leg-dot { width:9px; height:9px; border-radius:2px; flex-shrink:0; }
.promtra-overlap-rows { padding:10px 18px 16px; display:flex; flex-direction:column; gap:12px; }
.promtra-overlap-row-label { display:flex; align-items:center; gap:7px; font-size:12px; margin-bottom:5px; }
.promtra-overlap-label-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.promtra-overlap-label-name { flex:1; color:var(--promtra-text-soft); }
.promtra-overlap-label-stat { font-size:11px; color:var(--promtra-text-mute); white-space:nowrap; }
.promtra-overlap-label-stat b { color:#f59e0b; font-weight:600; }
.promtra-overlap-bar { display:flex; height:10px; border-radius:5px; overflow:hidden; }

/* Notizen */
.promtra-notes-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; padding:0 18px 18px; }
.promtra-notes-card { border:1px solid var(--promtra-border); border-radius:8px; padding:13px 14px; cursor:pointer; transition:border-color .15s,box-shadow .15s; background:var(--promtra-bg-base); }
.promtra-notes-card:hover { border-color:var(--promtra-accent); box-shadow:0 2px 8px rgba(0,0,0,.06); }
.promtra-notes-card-head { display:flex; align-items:center; gap:7px; margin-bottom:7px; }
.promtra-notes-card-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.promtra-notes-card-name { font-size:12px; font-weight:600; color:var(--promtra-text); }
.promtra-notes-card-body { font-size:12px; color:var(--promtra-text-mute); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; }
.promtra-notes-card-hint { margin-top:7px; font-size:11px; color:var(--promtra-accent); display:block; }

/* Button size + danger variants (scoped) */
[data-promtra-comp-page] .promtra-iconbtn--sm { width:28px; height:28px; border-radius:6px; }
[data-promtra-comp-page] .promtra-iconbtn--danger:hover { background:rgba(248,113,113,0.12); color:#f87171; }

/* ================================================================
 * Utility classes — replaces repeated inline style="" attributes
 * ================================================================ */
.promtra-text-right   { text-align: right; }
.promtra-text-center  { text-align: center; }
.promtra-text-nowrap  { white-space: nowrap; }
.promtra-fw-600       { font-weight: 600; }
.promtra-cursor-pointer { cursor: pointer; }
