/**
 * PhemightForms admin design system — v2.3
 * Premium gold theme drawn from the PhemightForms logo palette:
 * #FFD66B, #F2B541, #D89A2D, #B56D18, #8A4C0D — paired with warm
 * espresso neutrals for a modern, high-contrast look.
 */
:root {
	--phf-gold-100: #ffd66b;
	--phf-gold-200: #f2b541;
	--phf-gold-300: #d89a2d;
	--phf-gold-400: #b56d18;
	--phf-gold-500: #8a4c0d;
	--phf-primary: #d89a2d;
	--phf-primary-dark: #b56d18;
	--phf-primary-deep: #8a4c0d;
	--phf-primary-soft: #fdf4dd;
	--phf-accent: #f2b541;
	--phf-on-primary: #33200a;
	--phf-grad: linear-gradient(135deg, #ffd66b 0%, #f2b541 40%, #d89a2d 100%);
	--phf-grad-deep: linear-gradient(120deg, #1a1206 0%, #2e1f0b 42%, #59390e 80%, #8a4c0d 115%);
	--phf-bg: #faf7f1;
	--phf-surface: #ffffff;
	--phf-border: #ebe2d0;
	--phf-border-strong: #d7c9ad;
	--phf-text: #241b10;
	--phf-text-soft: #4b3d28;
	--phf-muted: #8a7a5f;
	--phf-success: #12b76a;
	--phf-success-soft: #ecfdf3;
	--phf-danger: #f04438;
	--phf-danger-soft: #fef3f2;
	--phf-warning: #f79009;
	--phf-warning-soft: #fffaeb;
	--phf-radius-lg: 16px;
	--phf-radius: 12px;
	--phf-radius-sm: 8px;
	--phf-shadow-xs: 0 1px 2px rgba(36, 27, 16, 0.05);
	--phf-shadow-sm: 0 1px 3px rgba(36, 27, 16, 0.08), 0 1px 2px rgba(36, 27, 16, 0.04);
	--phf-shadow-md: 0 4px 8px -2px rgba(36, 27, 16, 0.08), 0 2px 4px -2px rgba(36, 27, 16, 0.04);
	--phf-shadow-lg: 0 12px 24px -4px rgba(36, 27, 16, 0.1), 0 4px 8px -4px rgba(36, 27, 16, 0.04);
	--phf-shadow-primary: 0 6px 16px -4px rgba(216, 154, 45, 0.5);
	--phf-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--phf-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ------------------------------------------------------------------ */
/* Shell                                                              */
/* ------------------------------------------------------------------ */
body.phemightforms-admin #wpcontent {
	background: var(--phf-bg);
	padding-left: 0;
}

body.phemightforms-admin #wpbody-content {
	padding-bottom: 0;
}

body.phemightforms-admin .phemightforms-wrap {
	margin: 0;
	max-width: none;
	font-family: var(--phf-font);
	color: var(--phf-text);
	font-size: 14px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

body.phemightforms-admin .phemightforms-wrap > h1,
body.phemightforms-admin .phemightforms-wrap > .wp-header-end,
body.phemightforms-admin #wpbody-content > .notice:not(.phf-notice) {
	display: none;
}

.phf-page-body {
	padding: 0 28px 3rem;
	max-width: 1320px;
	margin: 0 auto;
}

/* ------------------------------------------------------------------ */
/* Top bar                                                            */
/* ------------------------------------------------------------------ */
.phf-topbar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	background: var(--phf-grad-deep);
	color: #fff;
	padding: 0 28px;
	margin: 0 0 28px;
	min-height: 64px;
	box-shadow: 0 8px 24px -8px rgba(46, 31, 11, 0.55);
	overflow: hidden;
}

.phf-topbar::before {
	content: "";
	position: absolute;
	top: -60%;
	right: -5%;
	width: 420px;
	height: 220px;
	background: radial-gradient(closest-side, rgba(242, 181, 65, 0.3), transparent);
	pointer-events: none;
}

.phf-topbar::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}

.phf-topbar-brand {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 1.1rem;
	font-weight: 500;
	white-space: nowrap;
	letter-spacing: -0.01em;
}

.phf-topbar-brand img {
	width: 50px;
	height: 50px;
	object-fit: contain;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.phf-topbar-brand strong {
	font-weight: 800;
	background: linear-gradient(90deg, #f0d9a2, #fbf0d8);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.phf-topbar-nav {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}

.phf-topbar-nav a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	transition: background 0.18s var(--phf-ease), color 0.18s var(--phf-ease), box-shadow 0.18s var(--phf-ease);
}

.phf-topbar-nav a:hover,
.phf-topbar-nav a:focus {
	color: #fff;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: none;
	outline: none;
}

.phf-topbar-nav a.is-active {
	color: #4a3007;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.phf-builder-back {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-right: 12px;
	padding: 6px 12px 6px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	transition: background 0.18s var(--phf-ease);
}

.phf-builder-back:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.16);
}

/* ------------------------------------------------------------------ */
/* Page headers                                                       */
/* ------------------------------------------------------------------ */
.phf-welcome,
.phf-page-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.phf-welcome h2,
.phf-page-title h2 {
	margin: 0 0 0.3rem;
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--phf-text);
	line-height: 1.25;
}

.phf-welcome p,
.phf-muted {
	color: var(--phf-muted);
	margin: 0;
	font-size: 0.9rem;
}

/* ------------------------------------------------------------------ */
/* Buttons                                                            */
/* ------------------------------------------------------------------ */
.phf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 18px;
	border-radius: 10px;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: var(--phf-font);
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	line-height: 1.4;
	transition: all 0.18s var(--phf-ease);
}

.phf-btn:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.22);
}

.phf-btn .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.phf-btn-primary {
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	border: none;
	box-shadow: var(--phf-shadow-primary);
}

.phf-btn-primary:hover {
	color: var(--phf-on-primary);
	filter: brightness(1.08);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px -6px rgba(216, 154, 45, 0.6);
}

.phf-btn-primary:active {
	transform: translateY(0);
	filter: brightness(0.97);
}

.phf-btn-ghost {
	background: var(--phf-surface);
	color: var(--phf-text-soft);
	border-color: var(--phf-border-strong);
	box-shadow: var(--phf-shadow-xs);
}

.phf-btn-ghost:hover {
	background: var(--phf-primary-soft);
	border-color: var(--phf-primary);
	color: var(--phf-primary-dark);
}

.phf-btn-danger:hover {
	background: var(--phf-danger-soft);
	border-color: #fda29b;
	color: var(--phf-danger);
}

.phf-btn-sm {
	padding: 6px 12px;
	font-size: 0.8125rem;
	border-radius: 8px;
}

.phf-btn-lg {
	padding: 12px 24px;
	font-size: 0.95rem;
	border-radius: 12px;
}

.phf-link {
	color: var(--phf-primary-dark);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.875rem;
}

.phf-link:hover {
	color: var(--phf-primary-deep);
	text-decoration: underline;
}

/* ------------------------------------------------------------------ */
/* Cards & panels                                                     */
/* ------------------------------------------------------------------ */
.phf-card-panel {
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	box-shadow: var(--phf-shadow-sm);
	overflow: hidden;
}

.phf-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 18px 24px;
	border-bottom: 1px solid var(--phf-border);
}

.phf-panel-head h3 {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.phf-pad {
	padding: 24px;
}

.phf-card-body {
	padding: 22px 28px 26px;
}

.phf-card-body-compact {
	padding-top: 10px;
	padding-bottom: 14px;
}

.phf-card-body-divider {
	border-top: 1px solid var(--phf-border);
	padding-top: 20px;
}

.phf-card-body .phf-muted {
	margin: 0 0 12px;
	line-height: 1.55;
}

.phf-card-body .phf-muted:last-of-type {
	margin-bottom: 16px;
}

.phf-card-body .phf-btn {
	margin-top: 4px;
}

/* ------------------------------------------------------------------ */
/* Stats                                                              */
/* ------------------------------------------------------------------ */
.phf-stat-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 1.5rem;
}

.phf-stat-card {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	padding: 20px 22px;
	box-shadow: var(--phf-shadow-sm);
	transition: box-shadow 0.2s var(--phf-ease), transform 0.2s var(--phf-ease), border-color 0.2s var(--phf-ease);
}

.phf-stat-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--phf-shadow-lg);
	border-color: #f0dcab;
}

.phf-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	flex-shrink: 0;
	box-shadow: var(--phf-shadow-xs);
}

.phf-stat-icon .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.phf-tint-amber  { background: linear-gradient(135deg, #fef0c7, #fde68a); color: #b45309; }
.phf-tint-blue   { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1d4ed8; }
.phf-tint-green  { background: linear-gradient(135deg, #d1fadf, #a7f3d0); color: #047857; }
.phf-tint-purple { background: linear-gradient(135deg, #fde5cf, #fbd0aa); color: #b0500a; }
.phf-tint-gold   { background: linear-gradient(135deg, #ffe9b8, #ffd66b); color: #8a4c0d; }

.phf-stat-number {
	display: block;
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--phf-text);
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
}

.phf-stat-label {
	display: block;
	font-size: 0.8125rem;
	color: var(--phf-muted);
	margin-top: 3px;
	font-weight: 500;
}

/* ------------------------------------------------------------------ */
/* Dashboard                                                          */
/* ------------------------------------------------------------------ */
.phf-dash-columns {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}

.phf-chart {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 190px;
	padding: 24px;
}

.phf-chart-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	justify-content: flex-end;
	min-width: 0;
}

.phf-chart-bar {
	display: block;
	width: 100%;
	max-width: 30px;
	background: linear-gradient(180deg, #e9b654 0%, #d89a2d 100%);
	border-radius: 7px 7px 3px 3px;
	min-height: 4px;
	transition: filter 0.15s var(--phf-ease), transform 0.15s var(--phf-ease);
	box-shadow: 0 2px 6px -2px rgba(216, 154, 45, 0.55);
}

.phf-chart-col:hover .phf-chart-bar {
	filter: brightness(1.12);
	transform: scaleY(1.02);
	transform-origin: bottom;
}

.phf-chart-day {
	font-size: 0.7rem;
	color: var(--phf-muted);
	margin-top: 8px;
	font-variant-numeric: tabular-nums;
}

.phf-recent-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phf-recent-list li {
	border-bottom: 1px solid var(--phf-border);
}

.phf-recent-list li:last-child {
	border-bottom: none;
}

.phf-recent-list a {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 16px;
	padding: 14px 24px;
	text-decoration: none;
	color: inherit;
	transition: background 0.15s var(--phf-ease);
}

.phf-recent-list a:hover {
	background: var(--phf-primary-soft);
}

.phf-recent-form {
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--phf-text);
}

.phf-recent-preview {
	grid-column: 1;
	color: var(--phf-muted);
	font-size: 0.8125rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.phf-recent-date {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	font-size: 0.75rem;
	color: var(--phf-muted);
	white-space: nowrap;
	background: var(--phf-bg);
	padding: 4px 10px;
	border-radius: 999px;
}

.phf-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 14px;
	padding: 24px;
}

.phf-form-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 18px 20px;
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius);
	text-decoration: none;
	color: inherit;
	background: linear-gradient(180deg, #fff, #fdfaf3);
	transition: border-color 0.18s var(--phf-ease), box-shadow 0.18s var(--phf-ease), transform 0.18s var(--phf-ease);
	overflow: hidden;
}

.phf-form-tile::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--phf-grad);
	opacity: 0;
	transition: opacity 0.18s var(--phf-ease);
}

.phf-form-tile:hover {
	border-color: #f0d9a2;
	box-shadow: var(--phf-shadow-md);
	transform: translateY(-2px);
}

.phf-form-tile:hover::before {
	opacity: 1;
}

.phf-form-tile-name {
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--phf-text);
	letter-spacing: -0.01em;
}

.phf-form-tile-meta {
	font-size: 0.8125rem;
	color: var(--phf-muted);
}

/* ------------------------------------------------------------------ */
/* Badges & notices                                                   */
/* ------------------------------------------------------------------ */
.phf-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.6rem;
	padding: 3px 10px;
	background: var(--phf-primary-soft);
	color: var(--phf-primary-deep);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.phf-badge-new {
	background: var(--phf-warning-soft);
	color: #b54708;
	margin-left: 6px;
	box-shadow: inset 0 0 0 1px #fedf89;
}

.phf-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-radius: var(--phf-radius);
	margin-bottom: 1.25rem;
	font-weight: 500;
	font-size: 0.9rem;
	box-shadow: var(--phf-shadow-xs);
}

.phf-notice-success {
	background: var(--phf-success-soft);
	color: #027a48;
	border: 1px solid #a6f4c5;
}

.phf-notice-error {
	background: var(--phf-danger-soft);
	color: #b42318;
	border: 1px solid #fecdca;
}

.phf-empty-state {
	text-align: center;
	padding: 4rem 1.5rem;
}

.phf-empty-state .dashicons {
	font-size: 3rem;
	width: auto;
	height: auto;
	color: var(--phf-primary);
	opacity: 0.45;
}

.phf-empty-state p {
	color: var(--phf-muted);
	margin: 0.9rem 0 1.4rem;
	font-size: 0.95rem;
}

/* ------------------------------------------------------------------ */
/* Tables                                                             */
/* ------------------------------------------------------------------ */
.phf-table-panel {
	overflow-x: auto;
}

.phf-table {
	width: 100%;
	border-collapse: collapse;
}

.phf-table th,
.phf-table td {
	padding: 14px 24px;
	text-align: left;
	border-bottom: 1px solid var(--phf-border);
	vertical-align: middle;
}

.phf-table th {
	background: #fbf8f2;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--phf-muted);
	font-weight: 700;
	white-space: nowrap;
}

.phf-table tbody tr {
	transition: background 0.12s var(--phf-ease);
}

.phf-table tbody tr:hover {
	background: #fdfaf3;
}

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

.phf-row-title {
	font-weight: 600;
	color: var(--phf-text);
	text-decoration: none;
	font-size: 0.925rem;
}

.phf-row-title:hover {
	color: var(--phf-primary-dark);
}

.phf-shortcode {
	background: #f5f0e5;
	padding: 5px 10px;
	border-radius: 7px;
	font-size: 0.8rem;
	color: #5d4d35;
	border: 1px solid var(--phf-border);
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.phf-col-narrow  { width: 80px; }
.phf-col-actions { width: 300px; }
.phf-col-check   { width: 40px; }

.phf-row-actions {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.phf-star-icon {
	color: var(--phf-warning);
	vertical-align: middle;
	margin-right: 5px;
}

/* ------------------------------------------------------------------ */
/* Filters & bulk bar                                                 */
/* ------------------------------------------------------------------ */
.phf-filter-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 1.25rem;
}

.phf-filter-bar select,
.phf-filter-bar input[type="search"],
.phf-filter-bar input[type="email"],
.phf-filter-bar input[type="file"] {
	padding: 9px 14px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 10px;
	background: var(--phf-surface);
	font-size: 0.875rem;
	font-family: var(--phf-font);
	min-width: 210px;
	box-shadow: var(--phf-shadow-xs);
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-filter-bar select:focus,
.phf-filter-bar input:focus {
	outline: none;
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.16);
}

.phf-bulk-bar {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 14px 24px;
	border-bottom: 1px solid var(--phf-border);
	background: #fbf8f2;
}

.phf-bulk-bar select {
	padding: 7px 12px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 8px;
	font-size: 0.85rem;
}

/* ------------------------------------------------------------------ */
/* Settings                                                           */
/* ------------------------------------------------------------------ */
.phf-settings-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
	gap: 16px;
	align-items: start;
}

.phf-settings-section {
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	box-shadow: var(--phf-shadow-sm);
	padding: 24px 28px;
}

.phf-settings-section h3 {
	margin: 0 0 4px;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.phf-settings-section > p.description,
.phf-settings-section > p.phf-muted {
	margin: 0 0 18px;
	font-size: 0.85rem;
}

.phf-field-row {
	margin-bottom: 16px;
}

.phf-field-row:last-child {
	margin-bottom: 0;
}

.phf-field-row > label {
	display: block;
	font-weight: 600;
	font-size: 0.85rem;
	margin-bottom: 6px;
	color: var(--phf-text-soft);
}

.phf-field-row input[type="text"],
.phf-field-row input[type="email"],
.phf-field-row input[type="number"],
.phf-field-row input[type="url"],
.phf-field-row input[type="password"],
.phf-field-row select,
.phf-field-row textarea {
	width: 100%;
	max-width: 440px;
	padding: 10px 14px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 10px;
	font-size: 0.875rem;
	font-family: var(--phf-font);
	background: #fff;
	box-shadow: var(--phf-shadow-xs);
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-field-row input:focus,
.phf-field-row select:focus,
.phf-field-row textarea:focus {
	outline: none;
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.16);
}

.phf-field-row label.phf-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 500;
	cursor: pointer;
	color: var(--phf-text-soft);
	font-size: 0.9rem;
}

.phf-field-row .description {
	font-size: 0.8rem;
	color: var(--phf-muted);
	margin-top: 6px;
}

.phf-settings-actions {
	margin-top: 20px;
	margin-bottom: 36px;
}

.phf-settings-actions .button-primary,
body.phemightforms-admin .phemightforms-wrap .button-primary {
	background: var(--phf-grad) !important;
	color: var(--phf-on-primary) !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 8px 22px !important;
	font-weight: 600 !important;
	font-family: var(--phf-font) !important;
	box-shadow: var(--phf-shadow-primary) !important;
	transition: filter 0.18s var(--phf-ease), transform 0.18s var(--phf-ease) !important;
	text-shadow: none !important;
}

.phf-settings-actions .button-primary:hover,
body.phemightforms-admin .phemightforms-wrap .button-primary:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

/* WPForms-style settings cards (SMTP page) */
.phf-settings-card {
	margin-bottom: 18px;
	max-width: 920px;
}

.phf-settings-card .phf-panel-head {
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	background: #fbf8f2;
}

.phf-settings-card .phf-panel-head h3 {
	display: flex;
	align-items: center;
	gap: 8px;
}

.phf-settings-card .phf-panel-head h3 .dashicons {
	color: var(--phf-primary);
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.phf-settings-card .phf-panel-head .phf-muted {
	font-size: 0.83rem;
}

.phf-setting-row {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 8px 32px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--phf-border);
	align-items: start;
}

.phf-setting-row:last-child {
	border-bottom: none;
}

.phf-setting-label label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--phf-text);
}

.phf-setting-label p {
	margin: 4px 0 0;
	font-size: 0.8rem;
	color: var(--phf-muted);
	line-height: 1.5;
}

.phf-setting-field input[type="text"],
.phf-setting-field input[type="email"],
.phf-setting-field input[type="password"],
.phf-setting-field input[type="number"],
.phf-setting-field select {
	width: 100%;
	max-width: 400px;
	padding: 10px 14px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 10px;
	font-size: 0.875rem;
	font-family: var(--phf-font);
	background: #fff;
	box-shadow: var(--phf-shadow-xs);
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-setting-field input:focus,
.phf-setting-field select:focus {
	outline: none;
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.16);
}

.phf-setting-control input[type="text"],
.phf-setting-control input[type="email"],
.phf-setting-control input[type="password"],
.phf-setting-control input[type="number"],
.phf-setting-control input[type="date"],
.phf-setting-control input[type="url"],
.phf-setting-control select,
.phf-setting-control textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 10px;
	font-size: 0.875rem;
	font-family: var(--phf-font);
	background: #fff;
	box-shadow: var(--phf-shadow-xs);
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
	color: var(--phf-text);
}

.phf-setting-control textarea {
	min-height: 96px;
	resize: vertical;
	line-height: 1.5;
}

.phf-setting-control input:focus,
.phf-setting-control select:focus,
.phf-setting-control textarea:focus {
	outline: none;
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.16);
}

.phf-setting-control select {
	max-width: 420px;
	cursor: pointer;
}

.phf-setting-field .phf-input-sm {
	max-width: 130px;
}

.phf-setting-inline {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.phf-setting-inline input {
	flex: 1;
	min-width: 200px;
}

/* Toggle switch */
.phf-toggle {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.phf-toggle input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
	z-index: 1;
}

.phf-toggle-track {
	display: block;
	width: 46px;
	height: 26px;
	background: #d7c9ad;
	border-radius: 999px;
	position: relative;
	transition: background 0.2s var(--phf-ease);
}

.phf-toggle-track::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(36, 27, 16, 0.25);
	transition: transform 0.2s var(--phf-ease);
}

.phf-toggle input:checked + .phf-toggle-track {
	background: var(--phf-primary);
}

.phf-toggle input:checked + .phf-toggle-track::after {
	transform: translateX(20px);
}

.phf-toggle input:focus-visible + .phf-toggle-track {
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.22);
}

/* Radio pills */
.phf-radio-pills {
	display: inline-flex;
	background: #f5f0e5;
	border: 1px solid var(--phf-border);
	border-radius: 10px;
	padding: 3px;
	gap: 3px;
}

.phf-pill {
	position: relative;
	cursor: pointer;
}

.phf-pill input {
	position: absolute;
	opacity: 0;
	inset: 0;
	cursor: pointer;
}

.phf-pill span {
	display: inline-block;
	padding: 7px 18px;
	border-radius: 8px;
	font-size: 0.83rem;
	font-weight: 600;
	color: var(--phf-muted);
	transition: all 0.15s var(--phf-ease);
}

.phf-pill:hover span {
	color: var(--phf-text-soft);
}

.phf-pill input:checked + span {
	background: #fff;
	color: var(--phf-primary-dark);
	box-shadow: var(--phf-shadow-sm);
}

.phf-mailer-pills {
	flex-wrap: wrap;
}

.phf-mailer-pills .phf-pill span {
	min-width: 132px;
	text-align: center;
}

.phf-settings-tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.phf-settings-tabs a {
	padding: 9px 18px;
	border-radius: 999px;
	text-decoration: none;
	color: var(--phf-muted);
	font-weight: 600;
	font-size: 0.875rem;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	box-shadow: var(--phf-shadow-xs);
	transition: all 0.15s var(--phf-ease);
}

.phf-settings-tabs a:hover {
	color: var(--phf-primary-dark);
	border-color: #f0d9a2;
}

.phf-settings-tabs a.is-active {
	color: var(--phf-on-primary);
	background: var(--phf-grad);
	border-color: transparent;
	box-shadow: var(--phf-shadow-primary);
}

.phf-code-sample {
	background: #171006;
	color: #ecdfc0;
	padding: 18px 20px;
	border-radius: var(--phf-radius);
	overflow-x: auto;
	font-size: 0.8rem;
	line-height: 1.6;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

/* Custom Code editors */
.phf-code-editor-wrap {
	padding: 16px 22px 20px;
}

.phf-code-editor {
	display: block;
	width: 100%;
	font-family: ui-monospace, SFMono-Regular, Consolas, Menlo, monospace;
	font-size: 13px;
	line-height: 1.7;
	background: #171006;
	color: #ecdfc0;
	border: 1px solid #33240f;
	border-radius: var(--phf-radius-sm);
	padding: 14px 16px;
	tab-size: 4;
	resize: vertical;
	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3);
	box-sizing: border-box;
}

.phf-code-editor:focus {
	outline: none;
	border-color: var(--phf-primary);
	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 3px rgba(216, 154, 45, 0.22);
	background: #171006;
	color: #ecdfc0;
}

.phf-code-editor::placeholder {
	color: #8a7a5f;
}

/* ------------------------------------------------------------------ */
/* Onboarding                                                         */
/* ------------------------------------------------------------------ */
.phf-onboarding {
	position: relative;
	background: linear-gradient(120deg, #fdf4dd 0%, #fef8e6 60%, #fffbee 100%);
	border: 1px solid #f5e3b8;
	border-radius: var(--phf-radius-lg);
	padding: 28px 32px;
	margin-bottom: 1.5rem;
	box-shadow: var(--phf-shadow-sm);
	overflow: hidden;
}

.phf-onboarding::after {
	content: "";
	position: absolute;
	right: -40px;
	top: -40px;
	width: 200px;
	height: 200px;
	background: radial-gradient(closest-side, rgba(242, 181, 65, 0.22), transparent);
}

.phf-onboarding h2 {
	margin: 0 0 6px;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.phf-onboarding ol {
	margin: 12px 0 20px 20px;
	color: var(--phf-text-soft);
	line-height: 1.9;
}

/* ------------------------------------------------------------------ */
/* Entry detail                                                       */
/* ------------------------------------------------------------------ */
.phf-entry-detail {
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	box-shadow: var(--phf-shadow-sm);
	overflow: hidden;
}

.phf-entry-detail table {
	width: 100%;
	border-collapse: collapse;
}

.phf-entry-detail th,
.phf-entry-detail td {
	padding: 14px 24px;
	border-bottom: 1px solid var(--phf-border);
	text-align: left;
	vertical-align: top;
	font-size: 0.9rem;
}

.phf-entry-detail tr:last-child th,
.phf-entry-detail tr:last-child td {
	border-bottom: none;
}

.phf-entry-detail th {
	width: 210px;
	background: #fbf8f2;
	font-weight: 600;
	color: var(--phf-muted);
	font-size: 0.83rem;
}

.phf-back-link {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: var(--phf-primary-dark);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.875rem;
	margin-bottom: 1.1rem;
}

.phf-back-link:hover {
	color: var(--phf-primary-deep);
}

/* ------------------------------------------------------------------ */
/* Template picker                                                    */
/* ------------------------------------------------------------------ */
.phemightforms-templates {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 16px;
}

.phemightforms-template-card {
	position: relative;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	padding: 28px 22px 24px;
	text-align: center;
	box-shadow: var(--phf-shadow-sm);
	transition: border-color 0.18s var(--phf-ease), transform 0.18s var(--phf-ease), box-shadow 0.18s var(--phf-ease);
}

.phemightforms-template-card:hover {
	border-color: #f0d9a2;
	transform: translateY(-3px);
	box-shadow: var(--phf-shadow-lg);
}

.phf-template-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background: var(--phf-primary-soft);
	border-radius: 16px;
	margin-bottom: 10px;
	box-shadow: inset 0 0 0 1px #faeac6;
}

.phemightforms-template-card .dashicons {
	font-size: 1.8rem;
	width: auto;
	height: auto;
	color: var(--phf-primary);
}

.phemightforms-template-card h3 {
	margin: 6px 0 5px;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.phemightforms-template-card p {
	color: var(--phf-muted);
	min-height: 2.6em;
	font-size: 0.85rem;
	margin: 0 0 18px;
	line-height: 1.5;
}

/* ------------------------------------------------------------------ */
/* Builder — full-screen WPForms-style editor                         */
/* ------------------------------------------------------------------ */
.phf-builder-app {
	position: fixed;
	top: 32px;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99980;
	display: flex;
	flex-direction: column;
	background: #f6f1e7;
	font-family: var(--phf-font);
}

@media (max-width: 782px) {
	.phf-builder-app {
		top: 46px;
	}
}

/* Top toolbar */
.phf-builder-topbar {
	display: flex;
	align-items: center;
	gap: 18px;
	background: #221808;
	min-height: 60px;
	padding: 0 0 0 16px;
	box-shadow: 0 2px 12px rgba(23, 16, 6, 0.45);
	flex-shrink: 0;
}

.phf-builder-brand img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.phf-builder-name {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.phf-builder-name-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #a8977a;
	font-weight: 700;
}

.phf-builder-topbar input.phemightforms-title-input {
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	font-family: var(--phf-font);
	letter-spacing: -0.01em;
	padding: 3px 8px;
	margin-left: -8px;
	max-width: 480px;
	box-shadow: none;
	transition: border-color 0.15s var(--phf-ease), background 0.15s var(--phf-ease);
}

.phf-builder-topbar input.phemightforms-title-input:hover {
	border-color: rgba(255, 255, 255, 0.2);
}

.phf-builder-topbar input.phemightforms-title-input:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--phf-primary);
	box-shadow: none;
}

.phf-save-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #6ee7a0;
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}

.phf-save-badge .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.phf-builder-actions {
	display: flex;
	align-items: stretch;
	align-self: stretch;
}

.phf-tb-btn,
.phf-embed-dd summary {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0 18px;
	color: #d8c8a4;
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	border-left: 1px solid rgba(255, 255, 255, 0.08);
	transition: background 0.15s var(--phf-ease), color 0.15s var(--phf-ease);
	list-style: none;
	height: 100%;
	box-sizing: border-box;
}

.phf-embed-dd {
	position: relative;
	display: flex;
	align-self: stretch;
}

.phf-embed-dd summary::-webkit-details-marker {
	display: none;
}

.phf-tb-btn:hover,
.phf-embed-dd summary:hover {
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
}

.phf-tb-btn .dashicons,
.phf-embed-dd summary .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
}

.phf-embed-pop {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 320px;
	background: #fff;
	border-radius: 12px;
	box-shadow: var(--phf-shadow-lg);
	border: 1px solid var(--phf-border);
	padding: 16px 18px;
	z-index: 10000;
	color: var(--phf-text);
}

.phf-embed-pop p {
	margin: 0 0 10px;
	font-size: 0.85rem;
	color: var(--phf-text-soft);
}

.phf-embed-pop code {
	display: block;
	background: #f5f0e5;
	border: 1px solid var(--phf-border);
	border-radius: 8px;
	padding: 9px 12px;
	font-size: 0.8rem;
	user-select: all;
}

.phf-tb-save {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0 26px;
	border: none;
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	font-size: 0.9rem;
	font-weight: 700;
	font-family: var(--phf-font);
	cursor: pointer;
	transition: filter 0.15s var(--phf-ease);
}

.phf-tb-save:hover {
	filter: brightness(1.12);
}

.phf-tb-save .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
}

.phf-tb-exit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	color: #a8977a;
	background: rgba(255, 255, 255, 0.04);
	border-left: 1px solid rgba(255, 255, 255, 0.08);
	text-decoration: none;
	transition: background 0.15s var(--phf-ease), color 0.15s var(--phf-ease);
}

.phf-tb-exit:hover {
	background: var(--phf-danger);
	color: #fff;
}

.phf-tb-exit .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

/* Main area: sidebar + stage */
.phf-builder-main {
	display: flex;
	flex: 1;
	min-height: 0;
}

.phf-builder-panel {
	width: 380px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-right: 1px solid var(--phf-border);
	box-shadow: 2px 0 12px rgba(36, 27, 16, 0.04);
}

.phf-builder-tabs {
	display: flex;
	background: #33240f;
	flex-shrink: 0;
}

.phf-tab {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	background: transparent;
	border: none;
	padding: 12px 6px 10px;
	cursor: pointer;
	font-weight: 600;
	font-family: var(--phf-font);
	color: #a8977a;
	border-bottom: 3px solid transparent;
	font-size: 0.72rem;
	letter-spacing: 0.01em;
	transition: color 0.15s var(--phf-ease), background 0.15s var(--phf-ease);
}

.phf-tab .dashicons {
	font-size: 19px;
	width: 19px;
	height: 19px;
}

.phf-tab:hover {
	color: #e8dab4;
	background: rgba(255, 255, 255, 0.04);
}

.phf-tab.is-active {
	background: #fff;
	color: var(--phf-primary-dark);
	border-bottom-color: transparent;
}

.phf-builder-panels {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
}

.phf-tab-panel {
	padding: 18px;
}

.phf-panel-options .phf-options-panel {
	margin: -18px;
}

/* Stage (canvas area) */
.phf-builder-stage {
	flex: 1;
	overflow-y: auto;
	min-width: 0;
	background:
		radial-gradient(rgba(216, 154, 45, 0.09) 1px, transparent 1px);
	background-size: 22px 22px;
}

.phf-stage-inner {
	max-width: 760px;
	margin: 0 auto;
	padding: 28px 24px 80px;
}

.phf-canvas-help {
	margin: 0 0 14px;
	color: var(--phf-muted);
	font-size: 0.8125rem;
	text-align: center;
}

.phf-stage-form {
	background: #fff;
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	box-shadow: var(--phf-shadow-md);
	padding: 26px 28px;
	min-height: 380px;
}

.phf-group-title {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--phf-muted);
	margin: 18px 0 10px;
	font-weight: 700;
}

.phf-group-title:first-child {
	margin-top: 0;
}

.phemightforms-field-buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.phemightforms-add-field {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 12px 6px;
	background: #fbf8f2;
	border: 1px solid var(--phf-border);
	border-radius: 10px;
	cursor: grab;
	font-size: 0.75rem;
	font-weight: 500;
	font-family: var(--phf-font);
	text-align: center;
	color: var(--phf-text-soft);
	transition: all 0.15s var(--phf-ease);
}

.phemightforms-add-field:hover {
	border-color: var(--phf-primary);
	background: var(--phf-primary-soft);
	color: var(--phf-primary-deep);
	transform: translateY(-1px);
	box-shadow: var(--phf-shadow-xs);
}

.phemightforms-add-field:active {
	cursor: grabbing;
}

.phemightforms-add-field .dashicons {
	color: var(--phf-primary);
	font-size: 19px;
	width: 19px;
	height: 19px;
}

.phemightforms-canvas.phf-dragover {
	outline: 2px dashed var(--phf-primary);
	outline-offset: 6px;
	border-radius: var(--phf-radius);
	background: rgba(216, 154, 45, 0.04);
}

.phf-empty {
	border: 2px dashed var(--phf-border-strong);
	border-radius: var(--phf-radius);
	padding: 3.5rem 1rem;
	text-align: center;
	color: var(--phf-muted);
	background: #fcf9f3;
}

.phf-card {
	position: relative;
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius);
	margin-bottom: 10px;
	background: var(--phf-surface);
	padding: 16px 18px;
	cursor: pointer;
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-card:hover {
	border-color: var(--phf-border-strong);
	box-shadow: var(--phf-shadow-xs);
}

.phf-card.is-selected {
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 1px var(--phf-primary), var(--phf-shadow-md);
}

.phf-card-tools {
	position: absolute;
	top: 8px;
	right: 8px;
	display: flex;
	align-items: center;
	gap: 4px;
	opacity: 0;
	transition: opacity 0.15s var(--phf-ease);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--phf-border);
	border-radius: 8px;
	padding: 3px 5px;
	box-shadow: var(--phf-shadow-xs);
}

.phf-card:hover .phf-card-tools,
.phf-card.is-selected .phf-card-tools {
	opacity: 1;
}

.phf-move { cursor: grab; color: var(--phf-muted); }
.phf-tool { background: none; border: none; cursor: pointer; color: var(--phf-muted); padding: 3px; line-height: 1; border-radius: 5px; transition: all 0.12s var(--phf-ease); }
.phf-tool:hover { background: var(--phf-bg); }
.phf-tool.phf-delete:hover { color: var(--phf-danger); background: var(--phf-danger-soft); }
.phf-tool.phf-duplicate:hover { color: var(--phf-primary); background: var(--phf-primary-soft); }
.phf-logic-badge { color: var(--phf-primary); }
.phf-preview-label { display: block; font-weight: 600; margin-bottom: 7px; font-size: 0.9rem; }
.phf-req { color: var(--phf-danger); }

.phf-preview input[type="text"],
.phf-preview input[type="number"],
.phf-preview input[type="date"],
.phf-preview input[type="file"],
.phf-preview select,
.phf-preview textarea {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--phf-border);
	border-radius: 8px;
	background: #fbf8f2;
	box-sizing: border-box;
	pointer-events: none;
	font-family: var(--phf-font);
	font-size: 0.875rem;
}

.phf-preview-composite { display: flex; flex-wrap: wrap; gap: 8px; }
.phf-preview-composite .phf-preview-sub { flex: 1 1 45%; }
.phf-preview-choices label { display: block; margin-bottom: 6px; font-size: 0.875rem; }
.phf-preview-desc { display: block; color: var(--phf-muted); font-size: 0.8rem; margin-top: 6px; }
.phf-preview-hidden { color: var(--phf-muted); font-size: 0.85rem; }

.phf-card-section .phf-section-preview h3 {
	margin: 0 0 4px;
	border-bottom: 1px solid var(--phf-border);
	padding-bottom: 7px;
	font-size: 1rem;
}

.phf-card-pagebreak {
	background: var(--phf-primary-soft);
	border-style: dashed;
	border-color: #f0d9a2;
}

.phf-pagebreak-line {
	text-align: center;
	color: var(--phf-primary-dark);
	font-weight: 600;
	font-size: 0.85rem;
}

.phf-sort-placeholder {
	border: 2px dashed var(--phf-primary);
	border-radius: var(--phf-radius);
	background: var(--phf-primary-soft);
	margin-bottom: 10px;
	height: 62px;
}

/* Options panel */
.phf-options-empty {
	padding: 2.5rem 1.25rem;
	text-align: center;
	color: var(--phf-muted);
	font-size: 0.875rem;
}

.phf-opt-header {
	padding: 15px 18px;
	font-weight: 700;
	border-bottom: 1px solid var(--phf-border);
	background: #fbf8f2;
	font-size: 0.925rem;
	letter-spacing: -0.01em;
}

.phf-opt-tabs {
	display: flex;
	border-bottom: 1px solid var(--phf-border);
}

.phf-opt-tab {
	flex: 1;
	background: none;
	border: none;
	padding: 11px 8px;
	cursor: pointer;
	font-weight: 600;
	font-family: var(--phf-font);
	color: var(--phf-muted);
	border-bottom: 2px solid transparent;
	font-size: 0.8125rem;
	transition: color 0.15s var(--phf-ease);
}

.phf-opt-tab:hover {
	color: var(--phf-text-soft);
}

.phf-opt-tab.is-active {
	color: var(--phf-primary-dark);
	border-bottom-color: var(--phf-primary);
}

.phf-opt-body {
	padding: 18px;
}

.phf-opt-row { margin-bottom: 15px; }
.phf-opt-row > label { display: block; font-weight: 600; font-size: 0.83rem; margin-bottom: 5px; color: var(--phf-text-soft); }
.phf-opt-row label.phf-inline { display: flex; align-items: center; gap: 8px; font-weight: 500; font-size: 0.875rem; }

/* Form Style controls */
.phf-style-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px 16px;
}

.phf-style-grid input[type="color"] {
	width: 100%;
	height: 34px;
	padding: 2px;
	border: 1px solid var(--phf-border-strong);
	border-radius: var(--phf-radius-sm);
	background: var(--phf-surface);
	cursor: pointer;
}

.phf-style-grid input[type="number"] {
	width: 100%;
}

textarea.phf-mono {
	font-family: ui-monospace, SFMono-Regular, Consolas, Menlo, monospace;
	font-size: 12px;
	line-height: 1.6;
	tab-size: 4;
}

.phf-opt-row input[type="text"],
.phf-opt-row input[type="email"],
.phf-opt-row input[type="url"],
.phf-opt-row input[type="number"],
.phf-opt-row select,
.phf-opt-row textarea,
.phf-tab-panel input[type="text"],
.phf-tab-panel input[type="email"],
.phf-tab-panel input[type="url"],
.phf-tab-panel select,
.phf-tab-panel textarea {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 8px;
	font-size: 0.85rem;
	font-family: var(--phf-font);
	box-sizing: border-box;
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-opt-row input:focus,
.phf-opt-row select:focus,
.phf-opt-row textarea:focus,
.phf-tab-panel input:focus,
.phf-tab-panel select:focus,
.phf-tab-panel textarea:focus {
	outline: none;
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 3px rgba(216, 154, 45, 0.16);
}

.phf-choice-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.phf-choice-row .phf-choice { flex: 1; }
.phf-remove-choice,
.phf-remove-rule { color: var(--phf-danger) !important; text-decoration: none; font-size: 1.1rem; padding: 2px 6px; border-radius: 6px; }
.phf-remove-choice:hover,
.phf-remove-rule:hover { background: var(--phf-danger-soft); }

.phf-logic-summary {
	background: #fbf8f2;
	border: 1px solid var(--phf-border);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 12px;
	line-height: 2.1;
	font-size: 0.85rem;
}

.phf-rule-row {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 7px;
}

.phf-rule-row select,
.phf-rule-row input {
	flex: 1;
	min-width: 0;
}

.phf-preview-consent { display: flex; gap: 8px; font-weight: 400; font-size: 0.875rem; }
.phf-preview-signature { border: 1px dashed var(--phf-border-strong); border-radius: 10px; padding: 1.6rem; text-align: center; color: var(--phf-muted); background: #fcf9f3; font-size: 0.85rem; }
.phf-preview-repeater { display: flex; align-items: center; gap: 8px; }
.phf-preview-repeater input { flex: 1; }
.phf-preview-repeater-add { color: var(--phf-primary-dark); font-size: 0.83rem; white-space: nowrap; font-weight: 600; }

/* ------------------------------------------------------------------ */
/* Reports                                                            */
/* ------------------------------------------------------------------ */
.phemightforms-report-block {
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	padding: 24px 28px;
	margin-top: 16px;
	box-shadow: var(--phf-shadow-sm);
}

.phemightforms-report-block h2 {
	margin: 0 0 18px;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.phemightforms-bar-row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 10px;
}

.phemightforms-bar-label {
	flex: 0 0 200px;
	text-align: right;
	font-size: 0.875rem;
	color: var(--phf-text-soft);
}

.phemightforms-bar-track {
	flex: 1;
	background: #f1ebdd;
	border-radius: 999px;
	height: 18px;
	overflow: hidden;
	box-shadow: inset 0 1px 2px rgba(36, 27, 16, 0.05);
}

.phemightforms-bar-fill {
	display: block;
	height: 100%;
	background: var(--phf-grad);
	border-radius: 999px;
	transition: width 0.5s var(--phf-ease);
	box-shadow: 0 1px 3px rgba(216, 154, 45, 0.4);
}

.phemightforms-bar-value {
	flex: 0 0 90px;
	color: var(--phf-muted);
	font-size: 0.83rem;
	font-variant-numeric: tabular-nums;
}

.phf-report-summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	background: var(--phf-primary-soft);
	color: var(--phf-primary-deep);
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.875rem;
	margin-bottom: 1.1rem;
	box-shadow: inset 0 0 0 1px #faeac6;
}

/* ------------------------------------------------------------------ */
/* Branding (legacy heading)                                          */
/* ------------------------------------------------------------------ */
.phemightforms-heading {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.phemightforms-logo {
	height: 32px;
	width: 32px;
	object-fit: contain;
}

.phemightforms-entries-filter {
	margin: 1rem 0;
}

/* ------------------------------------------------------------------ */
/* Responsive                                                         */
/* ------------------------------------------------------------------ */
@media (max-width: 1100px) {
	.phf-builder-panel {
		width: 320px;
	}
}

@media (max-width: 1100px) {
	.phf-stat-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.phf-dash-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.phf-page-body {
		padding: 0 16px 2rem;
	}

	.phf-topbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 14px 16px;
		min-height: 0;
	}

	.phf-topbar-nav-wrap {
		position: relative;
		width: 100%;
	}

	.phf-topbar-nav-wrap::before,
	.phf-topbar-nav-wrap::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 10px;
		width: 32px;
		pointer-events: none;
		z-index: 2;
		opacity: 0;
		transition: opacity 0.2s var(--phf-ease);
	}

	.phf-topbar-nav-wrap::before {
		left: 0;
		background: linear-gradient(90deg, rgba(26, 18, 6, 0.95) 0%, transparent 100%);
	}

	.phf-topbar-nav-wrap::after {
		right: 0;
		background: linear-gradient(270deg, rgba(89, 57, 14, 0.95) 0%, transparent 100%);
		opacity: 1;
	}

	.phf-topbar-nav-wrap.is-scrolled-left::before {
		opacity: 1;
	}

	.phf-topbar-nav-wrap.is-at-end::after {
		opacity: 0;
	}

	.phf-topbar-nav {
		width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 2px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.phf-topbar-nav::-webkit-scrollbar {
		display: none;
	}

	.phf-topbar-nav a {
		white-space: nowrap;
		flex-shrink: 0;
	}

	.phf-nav-scroll-indicator {
		display: none;
		position: relative;
		height: 4px;
		margin-top: 8px;
		background: rgba(242, 181, 65, 0.22);
		border-radius: 999px;
		overflow: hidden;
	}

	.phf-nav-scroll-indicator.is-visible {
		display: block;
	}

	.phf-nav-scroll-thumb {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		min-width: 28px;
		background: linear-gradient(90deg, var(--phf-gold-100) 0%, var(--phf-gold-200) 45%, var(--phf-primary) 100%);
		border-radius: 999px;
		box-shadow: 0 0 8px rgba(255, 214, 107, 0.55);
		will-change: width, left;
	}

	.phf-subnav {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 6px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: var(--phf-primary) var(--phf-primary-soft);
	}

	.phf-subnav::-webkit-scrollbar {
		height: 4px;
	}

	.phf-subnav::-webkit-scrollbar-track {
		background: var(--phf-primary-soft);
		border-radius: 999px;
	}

	.phf-subnav::-webkit-scrollbar-thumb {
		background: var(--phf-grad);
		border-radius: 999px;
		box-shadow: var(--phf-shadow-primary);
	}

	.phf-subnav-item {
		flex-shrink: 0;
	}

	.phf-stat-grid {
		grid-template-columns: 1fr;
	}

	.phf-welcome,
	.phf-page-title {
		flex-direction: column;
		align-items: flex-start;
	}

	.phf-table thead {
		display: none;
	}

	.phf-table tr {
		display: block;
		border-bottom: 1px solid var(--phf-border);
		padding: 10px 0;
	}

	.phf-table td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 7px 16px;
		border: none;
		gap: 12px;
	}

	.phf-table td::before {
		content: attr(data-label);
		font-weight: 700;
		font-size: 0.72rem;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: var(--phf-muted);
	}

	.phf-row-actions {
		justify-content: flex-end;
	}

	.phemightforms-bar-label {
		flex: 0 0 100px;
		text-align: left;
		font-size: 0.8125rem;
	}

	.phf-builder-main {
		flex-direction: column;
		overflow-y: auto;
	}

	.phf-builder-panel {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid var(--phf-border);
	}

	.phf-builder-panels {
		max-height: 45vh;
	}

	.phf-builder-name-label {
		display: none;
	}

	.phf-tb-btn span:not(.dashicons),
	.phf-embed-dd summary span:not(.dashicons) {
		display: none;
	}

	.phf-setting-row {
		grid-template-columns: 1fr;
	}

	.phf-filter-bar select,
	.phf-filter-bar input[type="search"] {
		min-width: 0;
		flex: 1;
	}
}

/* ------------------------------------------------------------------ */
/* Sub-navigation (Payments tabs)                                     */
/* ------------------------------------------------------------------ */
.phf-subnav {
	display: flex;
	gap: 6px;
	margin-bottom: 20px;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius);
	padding: 6px;
	width: fit-content;
	box-shadow: var(--phf-shadow-xs);
}

.phf-subnav-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 18px;
	border-radius: var(--phf-radius-sm);
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--phf-text-soft);
	text-decoration: none;
	transition: background 0.15s var(--phf-ease), color 0.15s var(--phf-ease);
}

.phf-subnav-item .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
}

.phf-subnav-item:hover {
	background: var(--phf-primary-soft);
	color: var(--phf-primary-deep);
}

.phf-subnav-item.is-active {
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	box-shadow: var(--phf-shadow-primary);
}

/* ------------------------------------------------------------------ */
/* Status badges                                                      */
/* ------------------------------------------------------------------ */
.phf-badge-success {
	background: var(--phf-success-soft);
	color: #067647;
	border-color: #abefc6;
}

.phf-badge-warning {
	background: var(--phf-warning-soft);
	color: #b54708;
	border-color: #fedf89;
}

/* ------------------------------------------------------------------ */
/* Payments page                                                      */
/* ------------------------------------------------------------------ */
.phf-provider-head {
	flex-wrap: wrap;
	align-items: baseline;
}

.phf-provider-head h3 {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.phf-provider-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	font-weight: 800;
	font-size: 1.05rem;
	color: #fff;
	box-shadow: var(--phf-shadow-xs);
}

.phf-logo-stripe {
	background: linear-gradient(135deg, #7a73ff, #635bff);
}

.phf-logo-paypal {
	background: linear-gradient(135deg, #009cde, #003087);
}

.phf-logo-offline {
	background: linear-gradient(135deg, #6dd58c, #12b76a);
}

.phf-logo-offline .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

.phf-logo-paystack {
	background: linear-gradient(135deg, #3bcbff, #011b33);
	font-size: 0.8rem;
}

.phf-logo-flutterwave {
	background: linear-gradient(135deg, #fb9129, #f5a623);
}

.phf-logo-razorpay {
	background: linear-gradient(135deg, #528ff0, #0d2366);
}

.phf-logo-mollie {
	background: linear-gradient(135deg, #333, #000);
}

.phf-logo-square {
	background: linear-gradient(135deg, #4a4a4a, #1a1a1a);
}

.phf-logo-coinbase {
	background: linear-gradient(135deg, #338aff, #0052ff);
}

.phf-logo-nowpayments {
	background: linear-gradient(135deg, #8b5cf6, #4c1d95);
}

.phf-logo-cryptowallet {
	background: linear-gradient(135deg, #fbbf24, #d97706);
}

.phf-provider-section {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 30px 0 14px;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--phf-text-soft, #7a6a4f);
}

.phf-provider-section .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: var(--phf-gold-600, #d89a2d);
}

.phf-provider-section::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(216, 154, 45, 0.35), transparent);
}

.phf-provider-card {
	margin-bottom: 18px;
}

.phf-coupons-wrap {
	padding: 20px 24px 24px;
}

.phf-coupons-table input,
.phf-coupons-table select {
	width: 100%;
}

.phf-coupons-table td {
	vertical-align: middle;
}

#phf-coupon-add {
	margin-top: 14px;
}

.phf-payments-hint {
	margin: 4px 0 0;
	font-size: 0.8125rem;
	color: var(--phf-muted);
}

/* ------------------------------------------------------------------ */
/* Form Templates gallery                                             */
/* ------------------------------------------------------------------ */
.phf-tpl-hero {
	text-align: center;
	padding: 40px 24px 30px;
	background:
		radial-gradient(1000px 260px at 50% -80px, rgba(242, 181, 65, 0.16), transparent 70%),
		var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	box-shadow: var(--phf-shadow-sm);
	margin-bottom: 20px;
}

.phf-tpl-hero h2 {
	margin: 0 0 8px;
	font-size: 1.6rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.phf-tpl-hero p {
	margin: 0 auto 22px;
	max-width: 560px;
	color: var(--phf-muted);
}

.phf-tpl-search {
	position: relative;
	max-width: 460px;
	margin: 0 auto;
}

.phf-tpl-search .dashicons {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--phf-muted);
}

.phemightforms-wrap .phf-tpl-search input[type="search"] {
	width: 100%;
	padding: 12px 16px 12px 42px;
	border-radius: 999px;
	border: 1px solid var(--phf-border-strong);
	font-size: 0.95rem;
	box-shadow: var(--phf-shadow-xs);
}

.phemightforms-wrap .phf-tpl-search input[type="search"]:focus {
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 3px rgba(216, 154, 45, 0.2);
	outline: none;
}

.phf-tpl-layout {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 20px;
	align-items: start;
}

.phf-tpl-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	padding: 10px;
	box-shadow: var(--phf-shadow-sm);
	position: sticky;
	top: 46px;
}

.phf-tpl-cat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	padding: 9px 12px;
	border: none;
	background: transparent;
	border-radius: var(--phf-radius-sm);
	font-family: var(--phf-font);
	font-size: 0.855rem;
	font-weight: 600;
	color: var(--phf-text-soft);
	text-align: left;
	cursor: pointer;
	transition: background 0.15s var(--phf-ease), color 0.15s var(--phf-ease);
}

.phf-tpl-cat:hover {
	background: var(--phf-primary-soft);
	color: var(--phf-primary-deep);
}

.phf-tpl-cat.is-active {
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	box-shadow: var(--phf-shadow-primary);
}

.phf-tpl-count {
	font-size: 0.72rem;
	font-weight: 700;
	background: rgba(36, 27, 16, 0.08);
	border-radius: 999px;
	padding: 1px 8px;
	font-variant-numeric: tabular-nums;
}

.phf-tpl-cat.is-active .phf-tpl-count {
	background: rgba(255, 255, 255, 0.45);
}

.phf-tpl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 16px;
}

.phf-tpl-card {
	display: flex;
	flex-direction: column;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	padding: 20px;
	box-shadow: var(--phf-shadow-sm);
	transition: transform 0.18s var(--phf-ease), box-shadow 0.18s var(--phf-ease), border-color 0.18s var(--phf-ease);
}

.phf-tpl-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--phf-shadow-lg);
	border-color: #f0dcab;
}

.phf-tpl-card-blank {
	background:
		linear-gradient(160deg, rgba(255, 214, 107, 0.14), transparent 55%),
		var(--phf-surface);
	border-style: dashed;
	border-color: var(--phf-border-strong);
}

.phf-tpl-preview {
	position: relative;
	height: 148px;
	margin: -20px -20px 14px;
	padding: 16px 26px 0;
	overflow: hidden;
	border-bottom: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg) var(--phf-radius-lg) 0 0;
	background:
		radial-gradient(320px 120px at 50% -30px, rgba(242, 181, 65, 0.14), transparent 70%),
		linear-gradient(180deg, #f8f4ea, #f2ecdd);
}

.phf-tpl-preview::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 34px;
	background: linear-gradient(180deg, transparent, rgba(242, 236, 221, 0.95));
	pointer-events: none;
}

.phf-tpl-card:hover .phf-mini-form {
	transform: translateY(-3px);
}

.phf-mini-form {
	background: #fff;
	border: 1px solid var(--phf-border);
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	box-shadow: 0 6px 18px -8px rgba(36, 27, 16, 0.25);
	padding: 12px 14px 14px;
	min-height: 100%;
	transition: transform 0.2s var(--phf-ease);
}

.phf-mini-field {
	margin-bottom: 8px;
}

.phf-mini-label {
	display: block;
	font-size: 8px;
	font-weight: 700;
	color: var(--phf-text-soft);
	line-height: 1.3;
	margin-bottom: 3px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.phf-mini-input {
	display: block;
	height: 12px;
	border: 1px solid #e4dcc9;
	border-radius: 4px;
	background: #fbfaf6;
}

.phf-mini-row {
	display: flex;
	gap: 6px;
}

.phf-mini-row .phf-mini-input {
	flex: 1;
}

.phf-mini-area {
	height: 26px;
}

.phf-mini-sig {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--phf-muted);
	font-size: 11px;
}

.phf-mini-select {
	position: relative;
}

.phf-mini-caret {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 3px solid transparent;
	border-right: 3px solid transparent;
	border-top: 4px solid #b3a687;
}

.phf-mini-choices {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.phf-mini-choice {
	display: flex;
	align-items: center;
	gap: 5px;
}

.phf-mini-dot,
.phf-mini-square {
	width: 8px;
	height: 8px;
	border: 1px solid #cbbf9f;
	background: #fff;
	flex-shrink: 0;
}

.phf-mini-dot {
	border-radius: 50%;
}

.phf-mini-square {
	border-radius: 2px;
}

.phf-mini-bar {
	height: 6px;
	width: 46%;
	border-radius: 3px;
	background: #eae3d2;
}

.phf-mini-bar-long {
	width: 78%;
}

.phf-mini-stars {
	font-size: 10px;
	letter-spacing: 2px;
	color: var(--phf-gold-200);
	line-height: 1;
}

.phf-mini-price {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 14px;
	border-radius: 4px;
	background: var(--phf-primary-soft);
	border: 1px solid #f0dcab;
	color: var(--phf-primary-deep);
	font-size: 9px;
	font-weight: 800;
}

.phf-mini-btn {
	display: block;
	width: 44%;
	height: 14px;
	border-radius: 4px;
	background: var(--phf-grad);
	margin-top: 10px;
}

.phf-mini-btn-sm {
	width: 26%;
	margin-top: 0;
	height: 12px;
	flex-shrink: 0;
}

.phf-mini-blank {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	border: 2px dashed var(--phf-border-strong);
	border-radius: 8px 8px 0 0;
	background: rgba(255, 255, 255, 0.6);
	color: var(--phf-muted);
}

.phf-mini-blank .dashicons {
	font-size: 30px;
	width: 30px;
	height: 30px;
}

.phf-tpl-tag {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--phf-muted);
	background: var(--phf-bg);
	border: 1px solid var(--phf-border);
	border-radius: 999px;
	padding: 3px 10px;
	white-space: nowrap;
}

.phf-tpl-card h3 {
	margin: 0 0 6px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.phf-tpl-card p {
	margin: 0 0 16px;
	font-size: 0.83rem;
	color: var(--phf-muted);
	flex: 1;
}

.phf-tpl-card-actions {
	display: flex;
	gap: 8px;
}

.phf-tpl-none {
	text-align: center;
	padding: 60px 20px;
	color: var(--phf-muted);
}

.phf-tpl-none .dashicons {
	font-size: 40px;
	width: 40px;
	height: 40px;
	opacity: 0.4;
	margin-bottom: 10px;
}

@media screen and (max-width: 960px) {
	.phf-tpl-layout {
		grid-template-columns: 1fr;
	}

	.phf-tpl-sidebar {
		position: static;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.phf-tpl-cat {
		width: auto;
	}
}

/* ------------------------------------------------------------------ */
/* Builder: payment field previews                                    */
/* ------------------------------------------------------------------ */
.phf-preview-price {
	display: inline-block;
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--phf-primary-deep);
	background: var(--phf-primary-soft);
	border: 1px solid #f0dcab;
	border-radius: var(--phf-radius-sm);
	padding: 6px 14px;
}

.phf-preview-amount {
	font-weight: 700;
	color: var(--phf-primary-deep);
	margin-left: 4px;
}

.phf-preview-coupon {
	display: flex;
	gap: 8px;
	align-items: center;
}

.phf-preview-coupon-btn {
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	font-weight: 700;
	font-size: 0.8rem;
	border-radius: var(--phf-radius-sm);
	padding: 7px 14px;
}

.phf-preview-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--phf-primary-soft);
	border: 1px solid #f0dcab;
	border-radius: var(--phf-radius-sm);
	padding: 12px 16px;
	font-weight: 700;
}

.phf-preview-total strong {
	font-size: 1.15rem;
	color: var(--phf-primary-deep);
}

/* ------------------------------------------------------------------ */
/* CAPTCHA settings page                                              */
/* ------------------------------------------------------------------ */
.phf-captcha-status {
	align-self: flex-start;
	margin-top: 4px;
}

.phf-captcha-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 24px;
}

.phf-captcha-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	padding: 24px 18px 20px;
	background: var(--phf-surface);
	border: 2px solid var(--phf-border);
	border-radius: var(--phf-radius);
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.phf-captcha-card:hover {
	border-color: var(--phf-primary);
	box-shadow: var(--phf-shadow-sm);
	transform: translateY(-2px);
}

.phf-captcha-card.is-selected {
	border-color: var(--phf-primary);
	background: linear-gradient(180deg, #fffdf6 0%, var(--phf-surface) 100%);
	box-shadow: 0 0 0 1px var(--phf-primary), var(--phf-shadow-sm);
}

.phf-captcha-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.phf-captcha-check {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--phf-primary);
	color: var(--phf-on-primary);
	display: none;
	align-items: center;
	justify-content: center;
}

.phf-captcha-card.is-selected .phf-captcha-check {
	display: flex;
}

.phf-captcha-check .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
}

.phf-captcha-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	margin-bottom: 4px;
}

.phf-captcha-logo svg {
	width: 28px;
	height: 28px;
}

.phf-captcha-logo-hcaptcha {
	background: linear-gradient(135deg, #fafafa, #e8e8e8);
	color: #0074bf;
}

.phf-captcha-logo-recaptcha {
	background: linear-gradient(135deg, #4285f4, #34a853);
	color: #fff;
}

.phf-captcha-logo-turnstile {
	background: linear-gradient(135deg, #f6821f, #faad3f);
	color: #fff;
}

.phf-captcha-logo-none {
	background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
	color: #6b7280;
}

.phf-captcha-name {
	font-weight: 800;
	font-size: 1rem;
	color: var(--phf-text);
}

.phf-captcha-desc {
	font-size: 0.78rem;
	color: var(--phf-muted);
	line-height: 1.45;
}

/* ------------------------------------------------------------------ */
/* Privacy Compliance page                                            */
/* ------------------------------------------------------------------ */
.phf-privacy-request {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.phf-privacy-request input[type="email"] {
	flex: 1;
	min-width: 200px;
}

.phf-privacy-wp-tools {
	margin: 0;
	font-size: 0.84rem;
	color: var(--phf-muted);
	line-height: 1.6;
}

.phf-privacy-wp-tools a {
	color: var(--phf-primary-deep);
	font-weight: 600;
	text-decoration: none;
}

.phf-privacy-wp-tools a:hover {
	text-decoration: underline;
}

.phf-privacy-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phf-privacy-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--phf-border);
	font-size: 0.88rem;
	color: var(--phf-text);
	line-height: 1.55;
}

.phf-privacy-checklist li span:last-child {
	flex: 1;
	min-width: 0;
}

.phf-privacy-checklist li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.phf-privacy-checklist li:first-child {
	padding-top: 0;
}

.phf-privacy-checklist .dashicons {
	color: var(--phf-primary);
	margin-top: 3px;
	flex-shrink: 0;
}

.phf-privacy-page .phf-settings-card,
.phf-about-page .phf-settings-card {
	max-width: none;
}

.phf-privacy-page .phf-panel-head,
.phf-about-page .phf-panel-head {
	padding: 18px 28px;
}

.phf-privacy-page .phf-setting-row,
.phf-about-page .phf-setting-row {
	padding-left: 28px;
	padding-right: 28px;
}

/* ------------------------------------------------------------------ */
/* Addons page                                                        */
/* ------------------------------------------------------------------ */
.phf-addon-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 32px;
	margin-bottom: 24px;
	background: linear-gradient(135deg, #1a1208 0%, #3d2a0f 50%, #8a4c0d 100%);
	border-radius: var(--phf-radius-lg);
	color: #fff;
	box-shadow: var(--phf-shadow-md);
}

.phf-addon-hero h2 {
	margin: 0 0 8px;
	font-size: 1.6rem;
	color: #fff;
}

.phf-addon-hero p {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.82);
	max-width: 560px;
	line-height: 1.55;
}

.phf-addon-hero-stats {
	display: flex;
	gap: 20px;
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.75);
}

.phf-addon-hero-stats strong {
	color: var(--phf-primary);
	font-size: 1.1rem;
}

.phf-addon-hero-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.phf-addon-hero-badge img {
	width: 72px;
	height: 72px;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.phf-addon-hero-badge span {
	font-weight: 800;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--phf-primary);
}

.phf-addon-toolbar {
	margin-bottom: 20px;
}

.phf-addon-search {
	max-width: 420px;
}

.phf-addon-layout {
	margin-top: 0;
}

.phf-addon-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
	flex: 1;
}

.phf-addon-card {
	display: flex;
	flex-direction: column;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius);
	padding: 20px;
	box-shadow: var(--phf-shadow-xs);
	transition: box-shadow 0.2s, transform 0.15s;
}

.phf-addon-card:hover {
	box-shadow: var(--phf-shadow-sm);
	transform: translateY(-2px);
}

.phf-addon-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.phf-addon-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	color: #fff;
	font-weight: 800;
	font-size: 0.82rem;
	box-shadow: var(--phf-shadow-xs);
	flex-shrink: 0;
}

.phf-addon-logo-img {
	background: #fff;
	border: 1px solid var(--phf-border, #e5e7eb);
	padding: 8px;
}

.phf-addon-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.phf-addon-card h3 {
	margin: 0 0 8px;
	font-size: 1rem;
	font-weight: 700;
}

.phf-addon-card p {
	margin: 0 0 16px;
	font-size: 0.82rem;
	color: var(--phf-muted);
	line-height: 1.5;
	flex: 1;
}

.phf-addon-card-actions {
	margin-top: auto;
}

.phf-addon-included {
	color: #047857 !important;
	border-color: #a7f3d0 !important;
	background: #ecfdf3 !important;
	cursor: default;
}

.phf-addon-cat {
	background: none;
	border: none;
	font: inherit;
	cursor: pointer;
	text-align: left;
	width: 100%;
}

/* ------------------------------------------------------------------ */
/* About Us page                                                      */
/* ------------------------------------------------------------------ */
.phf-about-hero {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 32px;
	margin-bottom: 24px;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	box-shadow: var(--phf-shadow-sm);
}

.phf-about-logo {
	width: 96px;
	height: 96px;
	border-radius: 20px;
	flex-shrink: 0;
	box-shadow: var(--phf-shadow-sm);
}

.phf-about-hero h2 {
	margin: 0 0 10px;
	font-size: 1.75rem;
}

.phf-about-hero p {
	margin: 0 0 14px;
	color: var(--phf-muted);
	max-width: 640px;
	line-height: 1.55;
}

.phf-about-meta {
	display: flex;
	align-items: center;
	gap: 14px;
}

.phf-badge-gold {
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	border: none;
}

.phf-about-stats {
	margin-bottom: 24px;
}

.phf-about-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.phf-about-grid .phf-settings-card {
	max-width: none;
}

.phf-about-side {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.phf-about-features {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phf-about-features li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--phf-border);
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--phf-text);
}

.phf-about-features li span:last-child {
	flex: 1;
	min-width: 0;
}

.phf-about-features li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.phf-about-features li:first-child {
	padding-top: 0;
}

.phf-about-features .dashicons {
	color: var(--phf-primary);
	margin-top: 2px;
	flex-shrink: 0;
}

.phf-about-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phf-about-links li {
	border-bottom: 1px solid var(--phf-border);
}

.phf-about-links li:last-child {
	border-bottom: none;
}

.phf-about-links a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 0;
	text-decoration: none;
	color: var(--phf-text);
	font-weight: 600;
	font-size: 0.88rem;
	transition: color 0.15s;
	line-height: 1.4;
}

.phf-about-links a:hover {
	color: var(--phf-primary-deep);
}

.phf-about-links .dashicons {
	color: var(--phf-primary);
	flex-shrink: 0;
}

.phf-about-community .phf-card-body {
	padding-bottom: 24px;
}

.phf-about-community .phf-btn {
	display: inline-flex;
}

.phf-settings-link-card {
	background: linear-gradient(180deg, #fffdf6 0%, var(--phf-surface) 100%);
}

.phf-settings-link-card .phf-btn {
	margin-top: 8px;
}

@media screen and (max-width: 1100px) {
	.phf-captcha-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.phf-about-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 640px) {
	.phf-captcha-grid {
		grid-template-columns: 1fr;
	}

	.phf-addon-hero {
		flex-direction: column;
		text-align: center;
	}

	.phf-addon-hero-stats {
		justify-content: center;
	}

	.phf-about-hero {
		flex-direction: column;
		text-align: center;
	}

	.phf-about-meta {
		justify-content: center;
		flex-wrap: wrap;
	}
}

/* Invoices & Payment Links */
.phf-invoice-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 32px;
	margin-bottom: 22px;
	background: var(--phf-grad-deep);
	border-radius: var(--phf-radius-lg);
	color: #fff;
	box-shadow: var(--phf-shadow-md);
	position: relative;
	overflow: hidden;
}

.phf-invoice-hero::after {
	content: "";
	position: absolute;
	top: -40%;
	right: -8%;
	width: 280px;
	height: 280px;
	background: radial-gradient(circle, rgba(255, 214, 107, 0.18) 0%, transparent 70%);
	pointer-events: none;
}

.phf-invoice-hero-text {
	position: relative;
	z-index: 1;
	max-width: 620px;
}

.phf-invoice-hero-text h2 {
	margin: 0 0 8px;
	font-size: 1.55rem;
	color: #fff;
	font-weight: 700;
}

.phf-invoice-hero-text p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.55;
	font-size: 0.92rem;
}

.phf-invoice-hero-badge {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.phf-invoice-hero-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 214, 107, 0.25);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.phf-invoice-hero-icon .dashicons {
	font-size: 34px;
	width: 34px;
	height: 34px;
	color: var(--phf-gold-100);
}

.phf-invoice-hero-badge span {
	font-weight: 800;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--phf-gold-100);
}

.phf-invoice-type-tabs {
	display: flex;
	gap: 10px;
	margin-bottom: 22px;
	padding: 6px;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: 14px;
	box-shadow: var(--phf-shadow-xs);
	max-width: 420px;
}

.phf-invoice-type-tab {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--phf-text-soft);
	text-decoration: none;
	transition: background 0.15s var(--phf-ease), color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-invoice-type-tab .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

.phf-invoice-type-tab:hover {
	color: var(--phf-text);
	background: var(--phf-primary-soft);
}

.phf-invoice-type-tab.is-active {
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	box-shadow: var(--phf-shadow-primary);
}

.phf-invoice-builder {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 24px;
	align-items: start;
}

.phf-invoice-main {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.phf-invoice-form .phf-settings-card {
	max-width: none;
	margin-bottom: 0;
}

.phf-invoice-form .phf-panel-head h3 {
	display: flex;
	align-items: center;
	gap: 8px;
}

.phf-invoice-form .phf-panel-head h3 .dashicons {
	color: var(--phf-primary);
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.phf-amount-input {
	display: flex;
	align-items: stretch;
	max-width: 220px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--phf-shadow-xs);
}

.phf-amount-symbol {
	display: flex;
	align-items: center;
	padding: 0 14px;
	background: var(--phf-primary-soft);
	border-right: 1px solid var(--phf-border);
	font-weight: 700;
	color: var(--phf-primary-deep);
	font-size: 0.95rem;
}

.phf-amount-input input {
	flex: 1;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-width: 0;
	font-weight: 600;
	font-size: 1rem;
}

.phf-amount-input input:focus {
	box-shadow: none !important;
}

.phf-amount-input:focus-within {
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 4px rgba(216, 154, 45, 0.16);
}

.phf-line-items-hint {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 10px;
	padding: 12px 14px;
	background: var(--phf-primary-soft);
	border: 1px solid rgba(216, 154, 45, 0.2);
	border-radius: 10px;
	font-size: 0.8rem;
	color: var(--phf-text-soft);
	line-height: 1.5;
}

.phf-line-items-hint .dashicons {
	color: var(--phf-primary);
	margin-top: 1px;
	flex-shrink: 0;
}

.phf-invoice-share-banner {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 22px 24px;
	background: linear-gradient(135deg, #ecfdf3 0%, #f0fdf4 100%);
	border: 1px solid rgba(18, 183, 106, 0.25);
	border-radius: var(--phf-radius);
	box-shadow: var(--phf-shadow-xs);
}

.phf-invoice-share-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid rgba(18, 183, 106, 0.2);
	flex-shrink: 0;
}

.phf-invoice-share-icon .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
	color: var(--phf-success);
}

.phf-invoice-share-body {
	flex: 1;
	min-width: 0;
}

.phf-invoice-share-body h3 {
	margin: 0 0 4px;
	font-size: 1rem;
	color: #065f46;
}

.phf-invoice-share-body p {
	margin: 0 0 14px;
	font-size: 0.84rem;
	color: #047857;
}

.phf-invoice-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 24px;
	background: var(--phf-surface);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius);
	box-shadow: var(--phf-shadow-sm);
}

.phf-invoice-actions-note {
	font-size: 0.82rem;
	color: var(--phf-muted);
	display: flex;
	align-items: center;
	gap: 6px;
}

.phf-invoice-actions-note .dashicons {
	color: var(--phf-primary);
	font-size: 16px;
	width: 16px;
	height: 16px;
}

.phf-invoice-preview-panel {
	position: sticky;
	top: 32px;
}

.phf-invoice-preview-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.phf-invoice-preview-label h4 {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--phf-muted);
}

.phf-invoice-preview-label span {
	font-size: 0.75rem;
	color: var(--phf-muted);
}

.phf-invoice-preview-card {
	background: linear-gradient(160deg, #faf6eb 0%, #f3efe4 100%);
	border: 1px solid var(--phf-border);
	border-radius: var(--phf-radius-lg);
	padding: 22px 20px;
	box-shadow: var(--phf-shadow-md);
}

.phf-invoice-preview-card .phf-pay-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(216, 154, 45, 0.15);
	color: var(--phf-primary-deep);
	margin-bottom: 12px;
}

.phf-invoice-preview-card .phf-pay-badge-link {
	background: rgba(59, 130, 246, 0.12);
	color: #2563eb;
}

.phf-invoice-preview-title {
	margin: 0 0 8px;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--phf-text);
	line-height: 1.3;
}

.phf-invoice-preview-desc {
	margin: 0 0 16px;
	font-size: 0.84rem;
	color: var(--phf-text-soft);
	line-height: 1.55;
}

.phf-invoice-preview-meta {
	display: grid;
	gap: 8px;
	margin-bottom: 14px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid var(--phf-border);
	border-radius: 10px;
	font-size: 0.82rem;
}

.phf-invoice-preview-meta div {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.phf-invoice-preview-meta span {
	color: var(--phf-muted);
}

.phf-invoice-preview-lines {
	border-top: 1px solid var(--phf-border);
	border-bottom: 1px solid var(--phf-border);
	padding: 10px 0;
	margin-bottom: 14px;
}

.phf-invoice-preview-line {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	font-size: 0.82rem;
}

.phf-invoice-preview-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 16px;
	border-radius: 10px;
	background: rgba(216, 154, 45, 0.1);
	border: 1px solid rgba(216, 154, 45, 0.22);
	margin-bottom: 14px;
	font-size: 0.88rem;
	font-weight: 600;
}

.phf-invoice-preview-total strong {
	font-size: 1.25rem;
	color: var(--phf-primary-deep);
	font-variant-numeric: tabular-nums;
}

.phf-invoice-preview-method {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	color: var(--phf-text-soft);
	margin-bottom: 16px;
}

.phf-invoice-preview-method .dashicons {
	color: var(--phf-primary);
}

.phf-invoice-preview-btn {
	display: block;
	width: 100%;
	padding: 12px 20px;
	border: none;
	border-radius: 10px;
	background: var(--phf-grad);
	color: var(--phf-on-primary);
	font-weight: 700;
	font-size: 0.9rem;
	text-align: center;
	box-shadow: var(--phf-shadow-primary);
	cursor: default;
}

.phf-invoice-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 20px;
}

.phf-invoice-form .phf-settings-actions {
	margin-top: 8px;
}

.phf-invoice-share {
	margin-bottom: 20px;
}

.phf-invoice-link {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.phf-invoice-link .phf-copy-input,
.phf-invoice-link input[type="text"] {
	flex: 1;
	min-width: 0;
	font-size: 0.82rem;
	padding: 10px 12px;
	border: 1px solid var(--phf-border-strong);
	border-radius: 10px;
	background: #fff;
	color: var(--phf-text-soft);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.phf-invoice-link-lg {
	padding: 4px 0;
}

.phf-subnav-action {
	margin-left: auto;
	color: var(--phf-primary) !important;
	font-weight: 600;
}

.phf-setting-row-stack .phf-setting-control {
	max-width: 100%;
}

.phf-inv-method-all {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 1px solid rgba(216, 154, 45, 0.28);
	border-radius: 12px;
	background: var(--phf-primary-soft);
	cursor: pointer;
}

.phf-inv-method-all input {
	margin-right: 8px;
}

.phf-inv-method-all span {
	font-size: 0.82rem;
	color: var(--phf-text-soft);
}

.phf-inv-methods-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}

.phf-inv-method-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--phf-border);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-inv-method-option:hover {
	border-color: var(--phf-primary);
	box-shadow: var(--phf-shadow-xs);
}

.phf-inv-method-option input {
	flex-shrink: 0;
}

.phf-inv-method-option input:disabled {
	opacity: 0.5;
}

.phf-inv-method-name {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--phf-text);
	line-height: 1.35;
}

@media screen and (max-width: 1100px) {
	.phf-invoice-builder {
		grid-template-columns: 1fr;
	}

	.phf-invoice-preview-panel {
		position: static;
		order: -1;
	}
}

@media screen and (max-width: 960px) {
	.phf-invoice-layout {
		grid-template-columns: 1fr;
	}

	.phf-invoice-hero {
		flex-direction: column;
		text-align: center;
	}

	.phf-invoice-type-tabs {
		max-width: none;
	}

	.phf-invoice-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.phf-invoice-actions .phf-btn-lg {
		width: 100%;
		justify-content: center;
	}
}

.phf-setting-row-stack .phf-setting-control {
	max-width: none;
}

.phf-inv-method-all {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 1px solid rgba(216, 154, 45, 0.25);
	border-radius: 12px;
	background: var(--phf-primary-soft);
	cursor: pointer;
}

.phf-inv-method-all input {
	margin-right: 8px;
}

.phf-inv-method-all span {
	font-size: 0.8rem;
	color: var(--phf-text-soft);
}

.phf-inv-methods-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}

.phf-inv-method-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--phf-border);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s var(--phf-ease), box-shadow 0.15s var(--phf-ease);
}

.phf-inv-method-option:has(input:checked) {
	border-color: var(--phf-primary);
	box-shadow: 0 0 0 3px rgba(216, 154, 45, 0.14);
}

.phf-inv-method-option input[disabled] + .phf-provider-logo {
	opacity: 0.55;
}

.phf-inv-method-name {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--phf-text-soft);
	line-height: 1.35;
}

/* ------------------------------------------------------------------ */
/* Pro locked state & auth demos                                      */
/* ------------------------------------------------------------------ */
.phf-locked-feature {
	text-align: center;
	max-width: 520px;
	margin: 2.5rem auto;
	padding: 2.5rem 1.75rem;
	border: 1px dashed rgba(216, 154, 45, 0.45);
	border-radius: 16px;
	background: linear-gradient(180deg, #fffdf8 0%, #fff 100%);
}

.phf-locked-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: var(--phf-primary-soft);
	color: var(--phf-primary);
}

.phf-locked-icon .dashicons {
	font-size: 28px;
	width: 28px;
	height: 28px;
}

.phf-locked-feature h3 {
	margin: 0 0 8px;
	font-size: 1.25rem;
}

.phf-locked-feature .phf-muted {
	margin: 0 0 1.25rem;
}

.phf-upsell-notice {
	background: #fff8eb;
	border: 1px solid rgba(216, 154, 45, 0.35);
	color: #7a4e0c;
	align-items: flex-start;
}

.phf-upsell-notice .dashicons {
	color: var(--phf-primary);
	margin-top: 2px;
}

.phf-license-status p {
	margin: 0 0 8px;
}

.phf-auth-demos {
	margin-bottom: 8px;
}

.phf-auth-demo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.phf-auth-demo-panel h4 {
	margin: 0 0 10px;
	font-size: 0.95rem;
}

.phf-auth-demo-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border: 1px solid var(--phf-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--phf-shadow-xs);
}

.phf-auth-demo-card label {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--phf-text-soft);
}

.phf-auth-demo-card input {
	padding: 10px 12px;
	border: 1px solid var(--phf-border);
	border-radius: 10px;
	background: #fafafa;
}

.phf-auth-demo-card .phf-btn {
	margin-top: 6px;
	align-self: flex-start;
}
