/**
 * quickate フロントエンドUI スタイル
 */

/* =========================================================
 * ShotokuBox workspace theme-collision overrides
 * Scope: only frontend workspace / builder area
 * =======================================================*/

.shotokubox-public-workspace,
.quickate-public-workspace,
.shotokubox-public-workspace .quickate-form-builder-frontend,
.quickate-public-workspace .quickate-form-builder-frontend {
	--sbx-primary: #5b5ff6;
	--sbx-primary-dark: #2a1b5d;
	--sbx-border: #d9def5;
	--sbx-border-strong: #c8cfee;
	--sbx-bg: #ffffff;
	--sbx-bg-soft: #f7f8ff;
	--sbx-bg-muted: #f3f5fb;
	--sbx-text: #1f2937;
	--sbx-text-soft: #667085;
	--sbx-danger: #ef4444;
	--sbx-shadow: 0 12px 32px rgba(31, 41, 55, 0.08);
	color: var(--sbx-text);
}

.shotokubox-public-workspace *,
.quickate-public-workspace *,
.shotokubox-public-workspace *::before,
.shotokubox-public-workspace *::after,
.quickate-public-workspace *::before,
.quickate-public-workspace *::after {
	box-sizing: border-box;
}

.shotokubox-public-workspace .quickate-form-builder-frontend,
.quickate-public-workspace .quickate-form-builder-frontend {
	color: var(--sbx-text) !important;
	font-family: inherit;
}

.shotokubox-public-workspace .quickate-form-builder-frontend h1,
.shotokubox-public-workspace .quickate-form-builder-frontend h2,
.shotokubox-public-workspace .quickate-form-builder-frontend h3,
.shotokubox-public-workspace .quickate-form-builder-frontend h4,
.quickate-public-workspace .quickate-form-builder-frontend h1,
.quickate-public-workspace .quickate-form-builder-frontend h2,
.quickate-public-workspace .quickate-form-builder-frontend h3,
.quickate-public-workspace .quickate-form-builder-frontend h4 {
	color: var(--sbx-text) !important;
	line-height: 1.25;
	margin: 0 0 16px;
	font-weight: 800;
}

.shotokubox-public-workspace .quickate-form-builder-frontend label,
.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-field-label,
.quickate-public-workspace .quickate-form-builder-frontend label,
.quickate-public-workspace .quickate-form-builder-frontend .quickate-field-label {
	display: inline-block;
	margin: 0 0 8px;
	color: var(--sbx-text) !important;
	font-size: 14px;
	font-weight: 700;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend input[type="text"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="email"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="url"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="number"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="search"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="tel"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="color"],
.shotokubox-public-workspace .quickate-form-builder-frontend textarea,
.shotokubox-public-workspace .quickate-form-builder-frontend select,
.quickate-public-workspace .quickate-form-builder-frontend input[type="text"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="email"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="url"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="number"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="search"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="tel"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="color"],
.quickate-public-workspace .quickate-form-builder-frontend textarea,
.quickate-public-workspace .quickate-form-builder-frontend select {
	appearance: none;
	-webkit-appearance: none;
	width: 100% !important;
	min-height: 52px;
	padding: 14px 16px !important;
	border: 1px solid var(--sbx-border) !important;
	border-radius: 18px !important;
	background: #fff !important;
	color: var(--sbx-text) !important;
	box-shadow: none !important;
	outline: none !important;
	margin: 0 !important;
	float: none !important;
	max-width: none !important;
	line-height: 1.5;
}

.shotokubox-public-workspace .quickate-form-builder-frontend textarea,
.quickate-public-workspace .quickate-form-builder-frontend textarea {
	min-height: 120px;
	resize: vertical;
}

.shotokubox-public-workspace .quickate-form-builder-frontend input:focus,
.shotokubox-public-workspace .quickate-form-builder-frontend textarea:focus,
.shotokubox-public-workspace .quickate-form-builder-frontend select:focus,
.quickate-public-workspace .quickate-form-builder-frontend input:focus,
.quickate-public-workspace .quickate-form-builder-frontend textarea:focus,
.quickate-public-workspace .quickate-form-builder-frontend select:focus {
	border-color: var(--sbx-primary) !important;
	box-shadow: 0 0 0 4px rgba(91, 95, 246, 0.12) !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend input[type="checkbox"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="radio"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="checkbox"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="radio"] {
	appearance: auto;
	-webkit-appearance: auto;
	width: 18px !important;
	height: 18px !important;
	min-height: 18px;
	padding: 0 !important;
	border-radius: 4px !important;
	margin: 0 8px 0 0 !important;
	background: #fff !important;
	vertical-align: middle;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .fb-type-card,
.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-type-card,
.quickate-public-workspace .quickate-form-builder-frontend .fb-type-card,
.quickate-public-workspace .quickate-form-builder-frontend .quickate-type-card {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 148px;
	padding: 18px !important;
	border: 2px solid var(--sbx-border-strong) !important;
	border-radius: 22px !important;
	background: #fff !important;
	color: var(--sbx-text) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: .2s ease;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .fb-type-card.is-active,
.shotokubox-public-workspace .quickate-form-builder-frontend .fb-type-card[aria-pressed="true"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="radio"]:checked + .fb-type-card,
.quickate-public-workspace .quickate-form-builder-frontend .fb-type-card.is-active,
.quickate-public-workspace .quickate-form-builder-frontend .fb-type-card[aria-pressed="true"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="radio"]:checked + .fb-type-card {
	background: #eef0ff !important;
	border-color: var(--sbx-primary) !important;
	box-shadow: 0 0 0 3px rgba(91, 95, 246, 0.08) !important;
	color: var(--sbx-primary) !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend button,
.shotokubox-public-workspace .quickate-form-builder-frontend .button,
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="button"],
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="submit"],
.quickate-public-workspace .quickate-form-builder-frontend button,
.quickate-public-workspace .quickate-form-builder-frontend .button,
.quickate-public-workspace .quickate-form-builder-frontend input[type="button"],
.quickate-public-workspace .quickate-form-builder-frontend input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 18px !important;
	border-radius: 14px !important;
	border: 1px solid var(--sbx-primary-dark) !important;
	background: var(--sbx-primary-dark) !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: none !important;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.shotokubox-public-workspace .quickate-form-builder-frontend button:hover,
.shotokubox-public-workspace .quickate-form-builder-frontend .button:hover,
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="button"]:hover,
.shotokubox-public-workspace .quickate-form-builder-frontend input[type="submit"]:hover,
.quickate-public-workspace .quickate-form-builder-frontend button:hover,
.quickate-public-workspace .quickate-form-builder-frontend .button:hover,
.quickate-public-workspace .quickate-form-builder-frontend input[type="button"]:hover,
.quickate-public-workspace .quickate-form-builder-frontend input[type="submit"]:hover {
	background: #382170 !important;
	border-color: #382170 !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.shotokubox-public-workspace .quickate-form-builder-frontend .button.is-secondary,
.shotokubox-public-workspace .quickate-form-builder-frontend button.is-secondary,
.quickate-public-workspace .quickate-form-builder-frontend .button.is-secondary,
.quickate-public-workspace .quickate-form-builder-frontend button.is-secondary {
	background: #fff !important;
	border-color: var(--sbx-border-strong) !important;
	color: var(--sbx-text) !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .button.is-danger,
.shotokubox-public-workspace .quickate-form-builder-frontend button.is-danger,
.quickate-public-workspace .quickate-form-builder-frontend .button.is-danger,
.quickate-public-workspace .quickate-form-builder-frontend button.is-danger {
	background: #fff1f2 !important;
	border-color: #fecdd3 !important;
	color: #be123c !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-section,
.shotokubox-public-workspace .quickate-form-builder-frontend .fb-card,
.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-card,
.quickate-public-workspace .quickate-form-builder-frontend .quickate-section,
.quickate-public-workspace .quickate-form-builder-frontend .fb-card,
.quickate-public-workspace .quickate-form-builder-frontend .quickate-card {
	background: var(--sbx-bg) !important;
	border: 1px solid var(--sbx-border) !important;
	border-radius: 24px !important;
	box-shadow: var(--sbx-shadow) !important;
	padding: 28px !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-help,
.shotokubox-public-workspace .quickate-form-builder-frontend .description,
.quickate-public-workspace .quickate-form-builder-frontend .quickate-help,
.quickate-public-workspace .quickate-form-builder-frontend .description {
	color: var(--sbx-text-soft) !important;
	font-size: 13px !important;
	line-height: 1.65;
	margin-top: 6px;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .fb-actions,
.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-actions,
.quickate-public-workspace .quickate-form-builder-frontend .fb-actions,
.quickate-public-workspace .quickate-form-builder-frontend .quickate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .fb-question-item,
.quickate-public-workspace .quickate-form-builder-frontend .fb-question-item {
	background: #fff !important;
	border: 1px solid var(--sbx-border) !important;
	border-radius: 20px !important;
	box-shadow: none !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .fb-question-item.is-active,
.quickate-public-workspace .quickate-form-builder-frontend .fb-question-item.is-active {
	border-color: var(--sbx-primary) !important;
	box-shadow: 0 0 0 3px rgba(91, 95, 246, 0.08) !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend .fb-question-editor,
.quickate-public-workspace .quickate-form-builder-frontend .fb-question-editor {
	background: var(--sbx-bg) !important;
	border: 2px solid var(--sbx-primary) !important;
	border-radius: 22px !important;
	box-shadow: none !important;
}

@media (max-width: 767px) {
	.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-section,
	.shotokubox-public-workspace .quickate-form-builder-frontend .fb-card,
	.shotokubox-public-workspace .quickate-form-builder-frontend .quickate-card,
	.quickate-public-workspace .quickate-form-builder-frontend .quickate-section,
	.quickate-public-workspace .quickate-form-builder-frontend .fb-card,
	.quickate-public-workspace .quickate-form-builder-frontend .quickate-card {
		padding: 20px !important;
		border-radius: 20px !important;
	}

	.shotokubox-public-workspace .quickate-form-builder-frontend .fb-type-card,
	.quickate-public-workspace .quickate-form-builder-frontend .fb-type-card {
		min-height: 120px;
	}
}

/* ボタン要素のリセット - テーマのスタイルを継承 */
.quickate-mypage button,
.quickate-mypage .quickate-btn:is(button) {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: inherit;
	text-decoration: none;
}

.quickate-mypage {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
	font-family: inherit;
}

/* ヘッダー */
.quickate-mypage-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 2px solid #e0e0e0;
}

.quickate-mypage-title {
	font-size: 32px;
	font-weight: 700;
	font-family: inherit;
	color: #333;
	margin: 0;
	background: linear-gradient(135deg, #6366f1, #764ba2);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	line-height: 1.2;
}

.quickate-mypage-user-info {
	font-size: inherit;
	font-family: inherit;
	color: #666;
	line-height: 1.5;
}

/* タブナビゲーション */
.quickate-mypage-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 32px;
	border-bottom: 2px solid #e0e0e0;
}

.quickate-tab-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border: none;
	background: transparent;
	color: #666;
	font-size: inherit;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	transition: all 0.3s ease;
	line-height: 1.5;
}

.quickate-tab-btn:hover {
	color: #6366f1;
}

.quickate-tab-btn.active {
	color: #6366f1;
	border-bottom-color: #6366f1;
}

/* タブコンテンツ */
.quickate-tab-content {
	display: none;
}

.quickate-tab-content.active {
	display: block;
}

/* ボタン */
.quickate-btn,
.quickate-btn:is(button),
.quickate-btn:is(a) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border: none;
	border-radius: 10px;
	font-size: inherit;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	background: transparent;
	color: inherit;
	line-height: 1.5;
}

.quickate-btn-primary {
	background: linear-gradient(135deg, #6366f1, #764ba2);
	color: #fff;
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
	border: 2px solid transparent;
}

.quickate-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(99, 102, 241, 0.5);
	background: linear-gradient(135deg, #5855eb, #6a42a0);
}

.quickate-btn-primary.disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

.quickate-btn-secondary {
	background: #fff;
	color: #333;
	border: 2px solid #ddd;
}

.quickate-btn-secondary:hover {
	background: #f8f9fa;
	border-color: #6366f1;
	color: #6366f1;
}

.quickate-btn-danger {
	background: #ef4444;
	color: #fff;
	border: 2px solid transparent;
}

.quickate-btn-danger:hover {
	background: #dc2626;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
	transform: translateY(-2px);
}

/* ライセンス情報 */
.quickate-license-info {
	margin-bottom: 24px;
}

.quickate-license-card {
	background: linear-gradient(135deg, #f8f9fa, #e9ecef);
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	border: 2px solid #e0e0e0;
}

.quickate-license-stats {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 12px;
}

.quickate-license-current {
	font-size: 32px;
	font-weight: 700;
	font-family: inherit;
	color: #6366f1;
	line-height: 1.2;
}

.quickate-license-separator {
	font-size: 24px;
	font-family: inherit;
	color: #999;
	line-height: 1.2;
}

.quickate-license-max {
	font-size: 32px;
	font-weight: 700;
	font-family: inherit;
	color: #666;
	line-height: 1.2;
}

.quickate-license-text {
	margin: 0;
	color: #666;
	font-size: 14px;
	font-family: inherit;
	line-height: 1.5;
}

/* フォーム一覧 */
.quickate-forms-section {
	margin-bottom: 40px;
}

.quickate-section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
}

.quickate-section-header h2 {
	margin: 0;
	font-size: 24px;
	font-family: inherit;
	font-weight: 600;
	color: #333;
	line-height: 1.3;
}

.quickate-forms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
}

.quickate-form-card {
	background: #fff;
	border-radius: 16px;
	padding: 24px;
	border: 2px solid #e0e0e0;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.quickate-form-card:hover {
	border-color: #6366f1;
	box-shadow: 0 8px 24px rgba(99, 102, 241, 0.15);
	transform: translateY(-4px);
}

.quickate-form-card-header {
	margin-bottom: 16px;
}

.quickate-form-card-image {
	width: 100%;
	height: 150px;
	object-fit: cover;
	border-radius: 12px;
	margin-bottom: 12px;
}

.quickate-form-card-title {
	font-size: 18px;
	font-weight: 600;
	font-family: inherit;
	color: #333;
	margin: 0 0 8px 0;
	line-height: 1.4;
}

.quickate-form-card-description {
	font-size: 14px;
	font-family: inherit;
	color: #666;
	margin: 0 0 12px 0;
	line-height: 1.5;
}

.quickate-form-card-stats {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
	font-size: 14px;
	font-family: inherit;
	color: #666;
	line-height: 1.5;
}

.quickate-form-card-actions {
	display: flex;
	gap: 8px;
}

.quickate-form-card-actions .quickate-btn {
	flex: 1;
	justify-content: center;
	padding: 8px 12px;
	font-size: 13px;
	font-family: inherit;
}

/* モーダル */
.quickate-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	display: none;
}

.quickate-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(4px);
}

.quickate-modal-content {
	position: relative;
	background: #fff;
	border-radius: 20px;
	max-width: 900px;
	width: 90%;
	max-height: 90vh;
	margin: 5vh auto;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0,0,0,0.3);
	display: flex;
	flex-direction: column;
}

.quickate-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 32px;
	border-bottom: 1px solid #e0e0e0;
	background: linear-gradient(135deg, #f8f9fa, #e9ecef);
}

.quickate-modal-header h2 {
	margin: 0;
	font-size: 24px;
	font-family: inherit;
	font-weight: 600;
	color: #333;
	line-height: 1.3;
}

.quickate-modal-close {
	background: transparent;
	border: none;
	font-size: 24px;
	font-family: inherit;
	color: #666;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.2s;
	line-height: 1;
}

.quickate-modal-close:hover {
	background: #f0f0f0;
	color: #333;
}

.quickate-modal-body {
	padding: 32px;
	overflow-y: auto;
	flex: 1;
}

/* ローディング */
.quickate-loading {
	text-align: center;
	padding: 40px;
}

.quickate-spinner {
	border: 4px solid #f3f3f3;
	border-top: 4px solid #6366f1;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	margin: 0 auto 16px;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* キャンペーン */
.quickate-campaign-section {
	padding: 24px;
	background: #f8f9fa;
	border-radius: 16px;
}

.quickate-campaign-form-selector {
	margin-bottom: 24px;
}

.quickate-campaign-form-selector select {
	width: 100%;
	padding: 12px;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	font-size: inherit;
	font-family: inherit;
	line-height: 1.5;
}

.quickate-campaign-link {
	margin-top: 24px;
	padding: 24px;
	background: #fff;
	border-radius: 12px;
	border: 2px solid #e0e0e0;
}

.quickate-campaign-link-input {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
}

.quickate-campaign-link-input input {
	flex: 1;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
}

.quickate-share-buttons {
	display: flex;
	gap: 12px;
}

.quickate-share-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	cursor: pointer;
	transition: all 0.3s ease;
	line-height: 1.5;
}

.quickate-share-twitter {
	background: #1da1f2;
	color: #fff;
}

.quickate-share-facebook {
	background: #1877f2;
	color: #fff;
}

.quickate-share-line {
	background: #00c300;
	color: #fff;
}

/* レスポンシブ */
@media (max-width: 768px) {
	.quickate-mypage-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.quickate-mypage-tabs {
		flex-wrap: wrap;
	}

	.quickate-forms-grid {
		grid-template-columns: 1fr;
	}

	.quickate-modal-content {
		margin: 0;
		max-height: 100vh;
		border-radius: 0;
	}
}

/* フォームビルダー */
.quickate-form-builder-frontend {
	padding: 24px;
}

.quickate-form-builder-section {
	margin-bottom: 32px;
	padding: 24px;
	background: #f8f9fa;
	border-radius: 12px;
	border: 1px solid #e0e0e0;
}

.quickate-form-builder-section h3 {
	margin: 0 0 20px 0;
	font-size: 20px;
	font-family: inherit;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.quickate-form-field {
	margin-bottom: 20px;
}

.quickate-form-field label {
	display: block;
	margin-bottom: 8px;
	font-weight: 500;
	font-family: inherit;
	color: #333;
	line-height: 1.5;
}

.quickate-form-field .required {
	color: #ef4444;
}

.quickate-input {
	width: 100%;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: inherit;
	font-family: inherit;
	transition: border-color 0.2s;
	line-height: 1.5;
}

.quickate-input:focus {
	outline: none;
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.quickate-questions-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.quickate-question-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px;
	margin-bottom: 12px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	transition: all 0.2s;
}

.quickate-question-item:hover {
	border-color: #6366f1;
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1);
}

.quickate-question-item-content {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
}

.quickate-question-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: #6366f1;
	color: #fff;
	border-radius: 50%;
	font-weight: 600;
	font-size: 14px;
}

.quickate-question-label {
	font-weight: 500;
	font-family: inherit;
	color: #333;
	line-height: 1.5;
}

.quickate-question-type {
	padding: 4px 12px;
	background: #f0f0f0;
	border-radius: 12px;
	font-size: 12px;
	font-family: inherit;
	color: #666;
	line-height: 1.4;
}

.quickate-question-required {
	padding: 4px 12px;
	background: #fee2e2;
	color: #dc2626;
	border-radius: 12px;
	font-size: 12px;
	font-family: inherit;
	font-weight: 600;
	line-height: 1.4;
}

.quickate-question-item-actions {
	display: flex;
	gap: 8px;
}

.quickate-btn-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background: transparent;
	border: 1px solid #ddd;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.2s;
	font-family: inherit;
	line-height: 1;
}

.quickate-btn-icon:hover {
	background: #f0f0f0;
	border-color: #6366f1;
}

.quickate-btn-icon .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

.quickate-question-editor {
	margin-top: 24px;
	padding: 24px;
	background: #fff;
	border: 2px solid #6366f1;
	border-radius: 12px;
}

.quickate-question-editor h3 {
	margin: 0 0 20px 0;
	font-size: 18px;
	font-family: inherit;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.quickate-option-item {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

.quickate-empty-message {
	padding: 24px;
	text-align: center;
	color: #999;
	background: #f8f9fa;
	border-radius: 8px;
	border: 2px dashed #ddd;
}

.quickate-form-builder-actions {
	display: flex;
	gap: 12px;
	align-items: center;
}

.quickate-btn-large {
	padding: 14px 28px;
	font-size: 16px;
	font-family: inherit;
}

.quickate-btn .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	margin-right: 6px;
}

.spin {
	animation: spin 1s linear infinite;
}

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

/* フォームタイプ選択 */
.quickate-form-type-selector {
	display: flex;
	gap: 16px;
	margin-bottom: 8px;
}

.quickate-form-type-option {
	position: relative;
	flex: 1;
	cursor: pointer;
}

.quickate-form-type-option input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.quickate-form-type-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 20px;
	background: #fff;
	border: 2px solid #e0e0e0;
	border-radius: 12px;
	transition: all 0.3s ease;
	cursor: pointer;
}

.quickate-form-type-option input[type="radio"]:checked + .quickate-form-type-label {
	border-color: var(--shotokubox-accent, #6366f1);
	background: color-mix(in srgb, var(--shotokubox-accent, #6366f1) 10%, #ffffff);
	box-shadow: 0 4px 12px color-mix(in srgb, var(--shotokubox-accent, #6366f1) 24%, transparent);
}

.quickate-form-type-label .dashicons {
	font-size: 32px;
	width: 32px;
	height: 32px;
	color: var(--shotokubox-accent, #6366f1);
}

.quickate-form-type-option input[type="radio"]:checked + .quickate-form-type-label .dashicons {
	color: var(--shotokubox-accent, #6366f1);
}

.quickate-form-type-label span:last-child {
	font-weight: 600;
	color: #333;
	font-size: 15px;
}

.quickate-form-type-option input[type="radio"]:checked + .quickate-form-type-label span:last-child {
	color: var(--shotokubox-accent, #6366f1);
}

.quickate-form-field-hint {
	margin-top: 8px;
	font-size: 13px;
	font-family: inherit;
	color: #666;
	line-height: 1.5;
}

/* 画像ボタン */
.shotokubox-image-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.shotokubox-image-upload-btn,
.shotokubox-image-remove-btn {
	min-height: 44px;
	padding: 0 16px;
	border-radius: 12px;
	font-weight: 700;
}

.shotokubox-image-upload-btn {
	border-color: color-mix(in srgb, var(--shotokubox-accent, #6366f1) 28%, #dbe3ee);
	color: var(--shotokubox-accent, #6366f1);
	background: color-mix(in srgb, var(--shotokubox-accent, #6366f1) 8%, #ffffff);
}

.shotokubox-image-upload-btn:hover,
.shotokubox-image-upload-btn:focus {
	border-color: var(--shotokubox-accent, #6366f1);
	color: var(--shotokubox-accent, #6366f1);
	background: color-mix(in srgb, var(--shotokubox-accent, #6366f1) 12%, #ffffff);
}

.shotokubox-image-remove-btn {
	border-color: #fecaca;
	color: #dc2626;
	background: #fff7f7;
}

.shotokubox-image-remove-btn:hover,
.shotokubox-image-remove-btn:focus {
	border-color: #fca5a5;
	color: #b91c1c;
	background: #fef2f2;
}

/* テーマカラー */
.shotokubox-theme-color-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.shotokubox-theme-color-swatch {
	position: relative;
	width: 120px;
	height: 56px;
	border-radius: 14px;
	border: 2px solid #dbe3ee;
	background:
		linear-gradient(var(--shotokubox-picked-color, #6366f1), var(--shotokubox-picked-color, #6366f1)),
		linear-gradient(45deg, #e5e7eb 25%, transparent 25%, transparent 75%, #e5e7eb 75%, #e5e7eb),
		linear-gradient(45deg, #e5e7eb 25%, #ffffff 25%, #ffffff 75%, #e5e7eb 75%, #e5e7eb);
	background-size: 100% 100%, 16px 16px, 16px 16px;
	background-position: 0 0, 0 0, 8px 8px;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}

.shotokubox-theme-color-picker {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	border: 0;
	padding: 0;
}

.shotokubox-theme-color-text {
	max-width: 220px !important;
	font-weight: 700;
	letter-spacing: .02em;
}

.shotokubox-theme-reset-btn {
	min-height: 44px;
	padding: 0 16px;
	border-radius: 12px;
}

.shotokubox-theme-palette-field {
	display: grid;
	gap: 18px;
}

.shotokubox-theme-palette-hero {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 20px;
	border: 1px solid color-mix(in srgb, var(--shotokubox-palette-primary, #6366f1) 18%, #dbe3ee);
	border-radius: 18px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--shotokubox-palette-primary, #6366f1) 10%, #ffffff), color-mix(in srgb, var(--shotokubox-palette-secondary, #8b5cf6) 10%, #ffffff));
}

.shotokubox-theme-palette-hero__swatches {
	display: flex;
	gap: 10px;
}

.shotokubox-theme-palette-hero__swatch {
	width: 38px;
	height: 38px;
	border-radius: 14px;
	border: 2px solid rgba(255,255,255,.85);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.shotokubox-theme-palette-hero__swatch.is-primary { background: var(--shotokubox-palette-primary, #6366f1); }
.shotokubox-theme-palette-hero__swatch.is-secondary { background: var(--shotokubox-palette-secondary, #8b5cf6); }
.shotokubox-theme-palette-hero__swatch.is-surface { background: var(--shotokubox-palette-surface, #ffffff); border-color: color-mix(in srgb, var(--shotokubox-palette-primary, #6366f1) 12%, #dbe3ee); }

.shotokubox-theme-palette-hero__kicker {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--shotokubox-palette-primary, #6366f1);
}

.shotokubox-theme-palette-hero__title {
	font-size: 20px;
	font-weight: 800;
	color: var(--shotokubox-palette-text, #0f172a);
}

.shotokubox-theme-palette-hero__copy {
	margin-top: 4px;
	color: color-mix(in srgb, var(--shotokubox-palette-text, #0f172a) 60%, #94a3b8);
}

.shotokubox-theme-palette-groups {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 18px;
}

.shotokubox-theme-palette-group {
	padding: 18px;
	border: 1px solid #e6edf5;
	border-radius: 18px;
	background: #fff;
}

.shotokubox-theme-palette-group__head h4 {
	margin: 0 0 4px;
	font-size: 16px;
}

.shotokubox-theme-palette-group__head p {
	margin: 0 0 14px;
	color: #64748b;
	font-size: 13px;
}

.shotokubox-theme-palette-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.shotokubox-theme-palette-grid--saved {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shotokubox-theme-card,
.shotokubox-theme-card-wrap {
	position: relative;
}

.shotokubox-theme-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	padding: 10px;
	border: 1px solid #dbe3ee;
	border-radius: 16px;
	background: #fff;
	cursor: pointer;
	transition: all .2s ease;
	text-align: left;
}

.shotokubox-theme-card:hover,
.shotokubox-theme-card:focus {
	border-color: var(--shotokubox-accent, #6366f1);
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.shotokubox-theme-card.is-active {
	border-color: var(--shotokubox-accent, #6366f1);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--shotokubox-accent, #6366f1) 14%, transparent);
}

.shotokubox-theme-card__preview {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	padding: 8px;
	height: 54px;
	border-radius: 12px;
	overflow: hidden;
}

.shotokubox-theme-card__preview i {
	display: block;
	border-radius: 8px;
	min-height: 100%;
}

.shotokubox-theme-card__label {
	font-size: 12px;
	font-weight: 700;
	color: #1f2937;
}

.shotokubox-theme-card__delete {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.08);
	color: #475569;
	cursor: pointer;
}

.shotokubox-theme-card__delete:hover { background: rgba(220, 38, 38, 0.12); color: #b91c1c; }

.shotokubox-theme-custom-toolbar {
	display: flex;
	gap: 10px;
	margin-bottom: 12px;
}

.shotokubox-theme-custom-toolbar .quickate-input {
	flex: 1 1 auto;
}

.shotokubox-theme-empty {
	padding: 16px;
	border: 1px dashed #cbd5e1;
	border-radius: 14px;
	color: #64748b;
	font-size: 13px;
	background: #f8fafc;
}

.shotokubox-theme-designer {
	display: grid;
	gap: 14px;
	padding: 18px;
	border: 1px solid #e6edf5;
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.shotokubox-theme-designer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.shotokubox-theme-token {
	display: grid;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	color: #334155;
	position: relative;
	--shotokubox-token-color: #ffffff;
}

.shotokubox-theme-token input[type="color"] {
	width: 100%;
	height: 44px;
	padding: 0;
	border: 1px solid #dbe3ee;
	border-radius: 12px;
	background: var(--shotokubox-token-color, #fff);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	overflow: hidden;
}

.shotokubox-theme-token input[type="color"]::-webkit-color-swatch-wrapper {
	padding: 0;
}

.shotokubox-theme-token input[type="color"]::-webkit-color-swatch {
	border: 0;
	border-radius: inherit;
}

.shotokubox-theme-token input[type="color"]::-moz-color-swatch {
	border: 0;
	border-radius: inherit;
}

.shotokubox-theme-token__hex {
	display: block;
	font-size: 11px;
	line-height: 1.2;
	font-weight: 600;
	color: #64748b;
}

/* 保存ボタンなどにもアクセントを反映 */
.quickate-form-builder-frontend .quickate-btn-primary {
	background: var(--shotokubox-accent, #6366f1);
	border-color: var(--shotokubox-accent, #6366f1);
	color: #fff;
}

.quickate-form-builder-frontend .quickate-btn-primary:hover,
.quickate-form-builder-frontend .quickate-btn-primary:focus {
	filter: brightness(.95);
	color: #fff;
}

@media (max-width: 782px) {
	.shotokubox-image-actions,
	.shotokubox-theme-color-controls,
	.shotokubox-theme-custom-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.shotokubox-theme-palette-groups,
	.shotokubox-theme-designer-grid,
	.shotokubox-theme-palette-grid,
	.shotokubox-theme-palette-grid--saved {
		grid-template-columns: 1fr;
	}

	.shotokubox-theme-palette-hero {
		flex-direction: column;
		align-items: flex-start;
	}

	.shotokubox-theme-color-swatch {
		width: 100%;
	}

	.shotokubox-theme-color-text {
		max-width: none !important;
		width: 100%;
	}
}

/* 通知 */
@keyframes slideInRight {
	from {
		transform: translateX(100%);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

.quickate-notification {
	animation: slideInRight 0.3s ease;
}

/* プレビューモーダル */
.quickate-preview-modal {
	backdrop-filter: blur(8px);
}

.quickate-preview-content {
	animation: scaleIn 0.3s ease;
}

@keyframes scaleIn {
	from {
		transform: scale(0.9);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

.quickate-preview-question label:hover {
	border-color: var(--theme-color, #6366f1);
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);
	transform: translateY(-2px);
}

/* =========================================
   ShotokuBox Public AI Modal
========================================= */

body.shotokubox-ai-modal-open {
	overflow: hidden;
}

.shotokubox-public-ai-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
}

.shotokubox-public-ai-modal.is-open {
	display: block;
}

.shotokubox-public-ai-modal,
.shotokubox-public-ai-modal * {
	box-sizing: border-box;
}

.shotokubox-public-ai-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.58);
	backdrop-filter: blur(6px);
}

.shotokubox-public-ai-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(980px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	margin: 16px auto;
	overflow: auto;
	overflow-x: hidden;
	border-radius: 28px;
	background: #fffdf8;
	box-shadow: 0 32px 100px rgba(15, 23, 42, 0.28);
}

.shotokubox-public-ai-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.96);
	color: #0f172a;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}

.shotokubox-public-ai-modal__close:hover,
.shotokubox-public-ai-modal__close:focus {
	background: #ffffff;
	color: #111827;
}

.shotokubox-public-ai-panel,
.shotokubox-public-ai-panel--modal {
	width: 100%;
	padding: 32px;
	border-radius: 28px;
	background: linear-gradient(180deg, #fffdf8 0%, #fffaf2 100%);
	border: 1px solid rgba(251, 146, 60, 0.28);
	color: #1f2a44;
}

.shotokubox-public-ai-panel__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 20px;
	align-items: start;
	margin-bottom: 24px;
}

.shotokubox-public-ai-kicker {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff7ed;
	border: 1px solid rgba(251, 146, 60, 0.22);
	color: #ea580c;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.shotokubox-public-ai-title {
	margin: 16px 0 10px;
	font-size: 24px;
	line-height: 1.45;
	font-weight: 800;
	color: #1f2a44;
}

.shotokubox-public-ai-copy {
	margin: 0;
	font-size: 15px;
	line-height: 1.95;
	color: #64748b;
}

.shotokubox-public-ai-status {
	padding: 18px 20px;
	border-radius: 18px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.shotokubox-public-ai-status__label {
	font-size: 12px;
	font-weight: 700;
	color: #94a3b8;
	margin-bottom: 8px;
}

.shotokubox-public-ai-status__value {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.4;
}

.shotokubox-public-ai-status.ready .shotokubox-public-ai-status__value {
	color: #16a34a;
}

.shotokubox-public-ai-status.not-ready .shotokubox-public-ai-status__value {
	color: #dc2626;
}

.shotokubox-public-ai-status__sub {
	margin-top: 8px;
	font-size: 13px;
	color: #94a3b8;
	word-break: break-word;
}

.shotokubox-public-ai-inputs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

.shotokubox-public-ai-label {
	display: block;
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	color: #1f2a44;
}

.shotokubox-public-ai-textarea {
	display: block;
	width: 100%;
	min-height: 152px;
	padding: 18px 20px;
	border-radius: 20px;
	border: 1.5px solid #d7dee8;
	background: #ffffff;
	color: #334155;
	font-size: 16px;
	line-height: 1.9;
	resize: vertical;
	outline: none;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}

.shotokubox-public-ai-textarea:focus {
	border-color: #6366f1;
	box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12);
}

.shotokubox-public-ai-textarea::placeholder {
	color: #94a3b8;
	opacity: 1;
}

.shotokubox-public-ai-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.shotokubox-public-ai-actions .quickate-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 48px;
	padding: 0 18px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.shotokubox-public-ai-actions .quickate-btn-primary {
	background: #2563eb;
	border: 1px solid #2563eb;
	color: #ffffff;
	box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
}

.shotokubox-public-ai-actions .quickate-btn-primary:hover,
.shotokubox-public-ai-actions .quickate-btn-primary:focus {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #ffffff;
}

.shotokubox-public-ai-actions .quickate-btn-secondary,
.shotokubox-public-ai-actions .quickate-btn:not(.quickate-btn-primary) {
	background: #ffffff;
	border: 1px solid #d7dee8;
	color: #1e3a8a;
}

.shotokubox-public-ai-actions .quickate-btn-secondary:hover,
.shotokubox-public-ai-actions .quickate-btn-secondary:focus,
.shotokubox-public-ai-actions .quickate-btn:not(.quickate-btn-primary):hover,
.shotokubox-public-ai-actions .quickate-btn:not(.quickate-btn-primary):focus {
	background: #f8fafc;
	color: #1d4ed8;
}

.shotokubox-public-ai-message {
	flex: 1 1 240px;
	min-height: 24px;
	font-size: 14px;
	line-height: 1.8;
	color: #64748b;
}

.shotokubox-public-ai-examples {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.shotokubox-public-ai-example-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid #d7dee8;
	color: #2563eb;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s ease;
}

.shotokubox-public-ai-example-btn:hover,
.shotokubox-public-ai-example-btn:focus {
	background: #eff6ff;
	border-color: #93c5fd;
	color: #1d4ed8;
	transform: translateY(-1px);
}

@media (max-width: 782px) {
	.shotokubox-public-ai-modal__dialog {
		width: calc(100vw - 16px);
		max-height: calc(100vh - 16px);
		margin: 8px auto;
		border-radius: 20px;
	}

	.shotokubox-public-ai-panel,
	.shotokubox-public-ai-panel--modal {
		padding: 20px;
		border-radius: 20px;
	}

	.shotokubox-public-ai-panel__top {
		grid-template-columns: 1fr;
	}

	.shotokubox-public-ai-title {
		font-size: 20px;
	}

	.shotokubox-public-ai-copy {
		font-size: 14px;
		line-height: 1.8;
	}

	.shotokubox-public-ai-textarea {
		min-height: 132px;
		font-size: 15px;
	}

	.shotokubox-public-ai-actions .quickate-btn {
		width: 100%;
		min-width: 0;
	}

	.shotokubox-public-ai-example-btn {
		width: 100%;
		justify-content: flex-start;
	}
}

/* =========================================
   Elementor / theme reset for public form workspace
   公開側フォーム作成・編集画面の見た目をテーマから保護
========================================= */

.shotokubox-public-workspace,
.shotokubox-public-workspace * {
	box-sizing: border-box;
}

.shotokubox-public-workspace {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	color: #0f172a;
	line-height: 1.6;
}

.shotokubox-public-workspace h1,
.shotokubox-public-workspace h2,
.shotokubox-public-workspace h3,
.shotokubox-public-workspace h4,
.shotokubox-public-workspace p,
.shotokubox-public-workspace label,
.shotokubox-public-workspace button,
.shotokubox-public-workspace input,
.shotokubox-public-workspace textarea,
.shotokubox-public-workspace select {
	font-family: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.shotokubox-public-workspace a {
	text-decoration: none;
}

.shotokubox-public-workspace img {
	max-width: 100%;
	height: auto;
}

/* セクション */
.shotokubox-public-workspace .shotokubox-workspace-section,
.shotokubox-public-workspace .shotokubox-form-section,
.shotokubox-public-workspace .shotokubox-section-card,
.shotokubox-public-workspace .shotokubox-public-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
}

.shotokubox-public-workspace .shotokubox-section-title,
.shotokubox-public-workspace .shotokubox-form-section h2,
.shotokubox-public-workspace .shotokubox-workspace-section h2 {
	margin: 0 0 18px;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.4;
	color: #0f172a;
}

.shotokubox-public-workspace .shotokubox-field,
.shotokubox-public-workspace .shotokubox-form-field {
	margin-bottom: 22px;
}

.shotokubox-public-workspace .shotokubox-label,
.shotokubox-public-workspace .shotokubox-form-field > label,
.shotokubox-public-workspace .shotokubox-field > label {
	display: block;
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: 700;
	color: #111827;
}

.shotokubox-public-workspace .required,
.shotokubox-public-workspace .shotokubox-required {
	color: #ef4444;
}

/* テキスト入力 */
.shotokubox-public-workspace input[type="text"],
.shotokubox-public-workspace input[type="email"],
.shotokubox-public-workspace input[type="url"],
.shotokubox-public-workspace input[type="number"],
.shotokubox-public-workspace input[type="search"],
.shotokubox-public-workspace textarea,
.shotokubox-public-workspace select {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 54px;
	padding: 14px 18px;
	border: 1.5px solid #dbe3ee;
	border-radius: 14px;
	background: #f8fafc;
	color: #0f172a;
	font-size: 16px;
	line-height: 1.6;
	box-shadow: none;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.shotokubox-public-workspace textarea {
	min-height: 120px;
	resize: vertical;
}

.shotokubox-public-workspace input[type="text"]:focus,
.shotokubox-public-workspace input[type="email"]:focus,
.shotokubox-public-workspace input[type="url"]:focus,
.shotokubox-public-workspace input[type="number"]:focus,
.shotokubox-public-workspace input[type="search"]:focus,
.shotokubox-public-workspace textarea:focus,
.shotokubox-public-workspace select:focus {
	background: #ffffff;
	border-color: #6366f1;
	box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12);
}

.shotokubox-public-workspace input::placeholder,
.shotokubox-public-workspace textarea::placeholder {
	color: #94a3b8;
	opacity: 1;
}

.shotokubox-public-workspace .shotokubox-help,
.shotokubox-public-workspace .shotokubox-form-help,
.shotokubox-public-workspace .description,
.shotokubox-public-workspace small {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.7;
	color: #64748b;
}

/* フォームタイプ */
.shotokubox-public-workspace .shotokubox-form-type-options,
.shotokubox-public-workspace .shotokubox-form-type-grid,
.shotokubox-public-workspace .shotokubox-type-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 10px;
}

.shotokubox-public-workspace .shotokubox-form-type-option,
.shotokubox-public-workspace .shotokubox-type-option {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 92px;
	padding: 16px;
	border: 1.5px solid #dbe3ee;
	border-radius: 16px;
	background: #ffffff;
	color: #0f172a;
	text-align: center;
	cursor: pointer;
	transition: all .2s ease;
}

.shotokubox-public-workspace .shotokubox-form-type-option:hover,
.shotokubox-public-workspace .shotokubox-type-option:hover {
	border-color: #a5b4fc;
	background: #f8faff;
}

.shotokubox-public-workspace .shotokubox-form-type-option.active,
.shotokubox-public-workspace .shotokubox-type-option.active,
.shotokubox-public-workspace .shotokubox-form-type-option.is-active,
.shotokubox-public-workspace .shotokubox-type-option.is-active,
.shotokubox-public-workspace .shotokubox-form-type-option.selected,
.shotokubox-public-workspace .shotokubox-type-option.selected {
	border-color: #6366f1;
	background: #eef2ff;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
	color: #4338ca;
}

.shotokubox-public-workspace .shotokubox-form-type-option input[type="radio"],
.shotokubox-public-workspace .shotokubox-form-type-option input[type="checkbox"],
.shotokubox-public-workspace .shotokubox-type-option input[type="radio"],
.shotokubox-public-workspace .shotokubox-type-option input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.shotokubox-public-workspace .shotokubox-form-type-option .dashicons,
.shotokubox-public-workspace .shotokubox-type-option .dashicons {
	font-size: 28px;
	width: 28px;
	height: 28px;
	line-height: 28px;
	color: #6366f1;
}

/* Color picker */
.shotokubox-public-workspace .shotokubox-color-row,
.shotokubox-public-workspace .shotokubox-theme-color-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.shotokubox-public-workspace input[type="color"] {
	width: 80px;
	min-width: 80px;
	height: 40px;
	padding: 4px;
	border: 1.5px solid #dbe3ee;
	border-radius: 10px;
	background: #ffffff;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	box-shadow: none;
}

.shotokubox-public-workspace input[type="color"]::-webkit-color-swatch-wrapper {
	padding: 0;
}

.shotokubox-public-workspace input[type="color"]::-webkit-color-swatch {
	border: 0;
	border-radius: 6px;
}

.shotokubox-public-workspace input[type="color"]::-moz-color-swatch {
	border: 0;
	border-radius: 6px;
}

.shotokubox-public-workspace .shotokubox-color-text,
.shotokubox-public-workspace input[type="text"].shotokubox-color-input {
	width: 140px;
	min-width: 140px;
}

/* ボタン */
.shotokubox-public-workspace button,
.shotokubox-public-workspace .button,
.shotokubox-public-workspace .quickate-btn,
.shotokubox-public-workspace .shotokubox-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid #dbe3ee;
	border-radius: 12px;
	background: #ffffff;
	color: #0f172a;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
	appearance: none;
	-webkit-appearance: none;
	transition: all .2s ease;
}

.shotokubox-public-workspace button:hover,
.shotokubox-public-workspace .button:hover,
.shotokubox-public-workspace .quickate-btn:hover,
.shotokubox-public-workspace .shotokubox-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.shotokubox-public-workspace .button-primary,
.shotokubox-public-workspace .quickate-btn-primary,
.shotokubox-public-workspace .shotokubox-btn-primary {
	background: #4f46e5;
	border-color: #4f46e5;
	color: #ffffff;
}

.shotokubox-public-workspace .button-primary:hover,
.shotokubox-public-workspace .quickate-btn-primary:hover,
.shotokubox-public-workspace .shotokubox-btn-primary:hover {
	background: #4338ca;
	border-color: #4338ca;
	color: #ffffff;
}

.shotokubox-public-workspace .button-danger,
.shotokubox-public-workspace .quickate-btn-danger,
.shotokubox-public-workspace .shotokubox-btn-danger {
	background: #ffffff;
	border-color: #fecaca;
	color: #dc2626;
}

.shotokubox-public-workspace .button-danger:hover,
.shotokubox-public-workspace .quickate-btn-danger:hover,
.shotokubox-public-workspace .shotokubox-btn-danger:hover {
	background: #fef2f2;
	border-color: #fca5a5;
	color: #b91c1c;
}

/* AI起動ボタンの見た目固定 */
.shotokubox-public-workspace .shotokubox-open-ai-modal,
.shotokubox-public-workspace .shotokubox-open-ai-button,
.shotokubox-public-workspace .shotokubox-ai-launch-btn {
	min-width: 200px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid #dbe3ee;
	color: #1e3a8a;
}

.shotokubox-public-workspace .shotokubox-open-ai-modal:hover,
.shotokubox-public-workspace .shotokubox-open-ai-button:hover,
.shotokubox-public-workspace .shotokubox-ai-launch-btn:hover {
	background: #eff6ff;
	border-color: #93c5fd;
	color: #1d4ed8;
}

/* 質問一覧 */
.shotokubox-public-workspace .shotokubox-question-list,
.shotokubox-public-workspace .shotokubox-questions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.shotokubox-public-workspace .shotokubox-question-card,
.shotokubox-public-workspace .shotokubox-question-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	background: #ffffff;
}

.shotokubox-public-workspace .shotokubox-question-main,
.shotokubox-public-workspace .shotokubox-question-content {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 1 1 auto;
	min-width: 0;
}

.shotokubox-public-workspace .shotokubox-question-number,
.shotokubox-public-workspace .shotokubox-question-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	border-radius: 999px;
	background: #6366f1;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
}

.shotokubox-public-workspace .shotokubox-question-title,
.shotokubox-public-workspace .shotokubox-question-label {
	font-size: 18px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.5;
	min-width: 0;
}

.shotokubox-public-workspace .shotokubox-question-badges,
.shotokubox-public-workspace .shotokubox-question-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.shotokubox-public-workspace .shotokubox-badge,
.shotokubox-public-workspace .shotokubox-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.shotokubox-public-workspace .shotokubox-badge.type,
.shotokubox-public-workspace .shotokubox-tag.type {
	background: #f3f4f6;
	color: #6b7280;
}

.shotokubox-public-workspace .shotokubox-badge.required,
.shotokubox-public-workspace .shotokubox-tag.required {
	background: #fee2e2;
	color: #dc2626;
}

.shotokubox-public-workspace .shotokubox-question-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.shotokubox-public-workspace .shotokubox-question-actions .button,
.shotokubox-public-workspace .shotokubox-question-actions .quickate-btn,
.shotokubox-public-workspace .shotokubox-question-actions .shotokubox-btn {
	min-width: 92px;
}

/* 空状態 */
.shotokubox-public-workspace .shotokubox-empty-state,
.shotokubox-public-workspace .shotokubox-questions-empty {
	padding: 26px;
	border: 2px dashed #dbe3ee;
	border-radius: 16px;
	text-align: center;
	color: #94a3b8;
	background: #f8fafc;
}

/* 下部アクション */
.shotokubox-public-workspace .shotokubox-workspace-actions,
.shotokubox-public-workspace .shotokubox-form-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 18px;
	border-top: 1px solid #e5e7eb;
}

/* Elementor対策: フォーム内で余計な max-width や margin を防ぐ */
.shotokubox-public-workspace input,
.shotokubox-public-workspace textarea,
.shotokubox-public-workspace select,
.shotokubox-public-workspace button {
	margin: 0;
}

.shotokubox-public-workspace form {
	margin: 0;
}

.shotokubox-public-workspace .elementor-field-group,
.shotokubox-public-workspace .elementor-field-type-text,
.shotokubox-public-workspace .elementor-field-type-textarea {
	margin: 0;
}

@media (max-width: 782px) {
	.shotokubox-public-workspace .shotokubox-form-type-options,
	.shotokubox-public-workspace .shotokubox-form-type-grid,
	.shotokubox-public-workspace .shotokubox-type-grid {
		grid-template-columns: 1fr;
	}

	.shotokubox-public-workspace .shotokubox-question-card,
	.shotokubox-public-workspace .shotokubox-question-item {
		flex-direction: column;
		align-items: stretch;
	}

	.shotokubox-public-workspace .shotokubox-question-actions {
		width: 100%;
	}

	.shotokubox-public-workspace .shotokubox-question-actions .button,
	.shotokubox-public-workspace .shotokubox-question-actions .quickate-btn,
	.shotokubox-public-workspace .shotokubox-question-actions .shotokubox-btn {
		flex: 1 1 auto;
		min-width: 0;
	}

	.shotokubox-public-workspace .shotokubox-color-row,
	.shotokubox-public-workspace .shotokubox-theme-color-row {
		flex-direction: column;
		align-items: stretch;
	}

	.shotokubox-public-workspace .shotokubox-color-text,
	.shotokubox-public-workspace input[type="text"].shotokubox-color-input {
		width: 100%;
		min-width: 0;
	}
}


.quickate-section-header-workspace {
	align-items: flex-start;
	gap: 16px;
}

.quickate-section-note {
	margin: 6px 0 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.7;
}

.shotokubox-public-workspace {
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
	border: 1px solid #e2e8f0;
	border-radius: 28px;
	padding: 20px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.shotokubox-public-workspace__body {
	min-height: 320px;
}

.shotokubox-public-builder-shell.is-workspace .quickate-form-builder-frontend {
	margin-top: 24px;
}

.shotokubox-public-builder-toolbar {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	flex-wrap: wrap;
	padding: 24px 26px;
	border-radius: 24px;
	border: 1px solid #e2e8f0;
	background: linear-gradient(135deg, #fffdf7 0%, #ffffff 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.shotokubox-public-builder-toolbar__main {
	flex: 1 1 520px;
}

.shotokubox-public-builder-toolbar__title {
	margin: 14px 0 8px;
	font-size: 24px;
	line-height: 1.35;
	color: #172554;
}

.shotokubox-public-builder-toolbar__copy {
	margin: 0;
	font-size: 14px;
	line-height: 1.85;
	color: #475569;
	max-width: 760px;
}

.shotokubox-public-builder-toolbar__side {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	flex: 0 1 420px;
	flex-wrap: wrap;
}

.shotokubox-public-builder-toolbar__button {
	min-width: 220px;
	justify-content: center;
}

.shotokubox-builder-save-success {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(240px, 1fr) auto;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	padding: 18px 22px;
	border: 1px solid #dbe5f4;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.shotokubox-builder-save-success__body {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.shotokubox-builder-save-success__eyebrow {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 5px 9px;
	border-radius: 999px;
	background: #eef4ff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #1d4ed8;
}

.shotokubox-builder-save-success__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.shotokubox-builder-save-success__copy {
	display: none;
}

.shotokubox-builder-save-success__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 0;
}

.shotokubox-builder-save-success__actions .quickate-btn {
	min-height: 42px;
	padding: 0 16px;
	border-radius: 12px;
	font-size: 14px;
}

.shotokubox-builder-save-success__actions .quickate-btn-primary {
	box-shadow: none !important;
}

.shotokubox-builder-save-success__meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.shotokubox-builder-save-success__meta-label {
	font-size: 11px;
	font-weight: 700;
	color: #64748b;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shotokubox-builder-save-success__meta-value {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.6;
	color: #0f172a;
	word-break: break-all;
}

.shotokubox-public-ai-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
}

.shotokubox-public-ai-modal.is-open {
	display: block;
}

.shotokubox-public-ai-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.62);
	backdrop-filter: blur(4px);
}

.shotokubox-public-ai-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(920px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	overflow: auto;
	margin: 24px auto;
	border-radius: 28px;
	box-shadow: 0 40px 120px rgba(15, 23, 42, 0.28);
}

.shotokubox-public-ai-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	color: #0f172a;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
}

body.shotokubox-ai-modal-open {
	overflow: hidden;
}

.shotokubox-public-ai-panel--modal {
	padding: 32px;
}

.shotokubox-public-ai-panel {
	padding: 28px;
	border-radius: 24px;
	border: 1px solid rgba(245, 158, 11, 0.22);
	background: linear-gradient(135deg, #fffdf7 0%, #ffffff 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.shotokubox-public-ai-panel__top {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.shotokubox-public-ai-kicker {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #fed7aa;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	color: #ea580c;
}

.shotokubox-public-ai-title {
	margin: 16px 0 10px;
	font-size: 28px;
	line-height: 1.35;
	color: #172554;
}

.shotokubox-public-ai-copy {
	margin: 0;
	font-size: 15px;
	line-height: 1.9;
	color: #475569;
	max-width: 860px;
}

.shotokubox-public-ai-status {
	min-width: 240px;
	padding: 18px 20px;
	border-radius: 18px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
}

.shotokubox-public-ai-status__label {
	font-size: 12px;
	color: #64748b;
	margin-bottom: 8px;
}

.shotokubox-public-ai-status__value {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.4;
}

.shotokubox-public-ai-status.ready .shotokubox-public-ai-status__value { color: #16a34a; }
.shotokubox-public-ai-status.not-ready .shotokubox-public-ai-status__value { color: #dc2626; }

.shotokubox-public-ai-status__sub {
	margin-top: 8px;
	font-size: 13px;
	color: #64748b;
}

.shotokubox-public-ai-inputs {
	margin-top: 26px;
}

.shotokubox-public-ai-label {
	display: block;
	margin-bottom: 10px;
	font-weight: 700;
	color: #172554;
}

.shotokubox-public-ai-textarea {
	width: 100%;
	min-height: 130px;
	padding: 18px 20px;
	border-radius: 18px;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #0f172a;
	font-size: 15px;
	line-height: 1.85;
	resize: vertical;
}

.shotokubox-public-ai-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 14px;
}

.shotokubox-public-ai-message {
	min-height: 24px;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

.shotokubox-public-ai-examples {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.shotokubox-ai-example-btn {
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid #dbeafe;
	background: #fff;
	color: #2563eb;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.shotokubox-ai-example-btn:hover {
	background: #eff6ff;
}

.shotokubox-public-builder-shell .quickate-form-builder-section {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 22px;
	padding: 24px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
	margin-bottom: 24px;
}

.shotokubox-public-builder-shell .quickate-form-builder-actions {
	position: sticky;
	bottom: 0;
	background: rgba(255,255,255,0.98);
	backdrop-filter: blur(8px);
	padding: 20px 0 0;
}

@media (max-width: 782px) {
	.shotokubox-public-builder-toolbar {
		padding: 20px;
	}

	.shotokubox-public-builder-toolbar__side {
		justify-content: stretch;
	}

	.shotokubox-public-builder-toolbar__button {
		width: 100%;
	}

	.shotokubox-builder-save-success {
		grid-template-columns: 1fr;
		padding: 18px;
		gap: 14px;
	}

	.shotokubox-builder-save-success__title {
		font-size: 17px;
		white-space: normal;
	}

	.shotokubox-builder-save-success__actions {
		justify-content: flex-start;
	}

	.shotokubox-builder-save-success__actions .quickate-btn {
		width: 100%;
	}

	.shotokubox-public-ai-panel {
		padding: 22px;
	}

	.shotokubox-public-ai-title {
		font-size: 24px;
	}

	.shotokubox-public-ai-modal__dialog {
		width: calc(100vw - 20px);
		margin: 10px auto;
		max-height: calc(100vh - 20px);
		border-radius: 20px;
	}

	.shotokubox-public-ai-panel--modal {
		padding: 22px;
	}

	.shotokubox-public-ai-actions .quickate-btn {
		width: 100%;
		justify-content: center;
	}
}

/* Stats dashboard */
.quickate-stats-dashboard {
	display: grid;
	gap: 24px;
}

.quickate-stats-kpis {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}

.quickate-stats-kpi-card,
.quickate-stats-card,
.quickate-stats-question-card {
	background: #fff;
	border: 1px solid #e7e7ef;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.quickate-stats-kpi-card {
	padding: 22px 20px;
}

.quickate-stats-kpi-value {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	color: #4338ca;
	margin-bottom: 8px;
}

.quickate-stats-kpi-label,
.quickate-stats-muted,
.quickate-stats-question-meta,
.quickate-stats-card-head p,
.quickate-stats-form-meta {
	color: #6b7280;
	font-size: 14px;
	line-height: 1.6;
}

.quickate-stats-main-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
	gap: 24px;
}

.quickate-stats-main-grid--detail {
	margin-top: 8px;
}

.quickate-stats-card {
	padding: 24px;
}

.quickate-stats-card-head {
	margin-bottom: 16px;
}

.quickate-stats-card-head h3,
.quickate-stats-card-head h4,
.quickate-stats-question-card h4 {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.35;
	color: #111827;
}

.quickate-stats-card-head--detail {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-start;
}

.quickate-stats-chart-wrap {
	position: relative;
	height: 280px;
}

.quickate-stats-health-list,
.quickate-stats-summary-list,
.quickate-stats-question-list {
	display: grid;
	gap: 12px;
}

.quickate-stats-health-item,
.quickate-stats-summary-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	border-radius: 14px;
	background: #f8fafc;
}

.quickate-stats-health-item--warning {
	background: #fff7ed;
}

.quickate-stats-health-item--good {
	background: #ecfdf5;
}

.quickate-stats-summary-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.quickate-stats-table-wrap {
	overflow-x: auto;
}

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

.quickate-stats-table th,
.quickate-stats-table td {
	padding: 14px 12px;
	border-bottom: 1px solid #eef2f7;
	text-align: left;
	vertical-align: middle;
}

.quickate-stats-table th {
	font-size: 13px;
	color: #6b7280;
	font-weight: 600;
}

.quickate-stats-form-title {
	font-weight: 600;
	color: #111827;
	margin-bottom: 4px;
}

.quickate-status-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.quickate-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	background: #eef2ff;
	color: #4338ca;
}

.quickate-status-badge--public {
	background: #ecfdf5;
	color: #047857;
}

.quickate-status-badge--private,
.quickate-status-badge--neutral {
	background: #f3f4f6;
	color: #374151;
}

.quickate-status-badge--warning,
.quickate-status-badge--stale {
	background: #fff7ed;
	color: #c2410c;
}

.quickate-stats-question-card {
	padding: 20px;
}

.quickate-stats-bars,
.quickate-stats-text-list {
	display: grid;
	gap: 12px;
}

.quickate-stats-bar-item {
	display: grid;
	gap: 8px;
}

.quickate-stats-bar-label-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
	color: #374151;
}

.quickate-stats-bar-track {
	height: 10px;
	border-radius: 999px;
	background: #eef2ff;
	overflow: hidden;
}

.quickate-stats-bar-track span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
}

.quickate-stats-average {
	margin: 14px 0 0;
	font-weight: 600;
	color: #4338ca;
}

.quickate-stats-text-item {
	padding: 12px 14px;
	border-radius: 14px;
	background: #f8fafc;
	line-height: 1.7;
	color: #374151;
}

.quickate-stats-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 0 2px;
}

.quickate-stats-toolbar h3 {
	margin: 0 0 6px;
	font-size: 22px;
	color: #111827;
}

.quickate-stats-toolbar p {
	margin: 0;
	color: #6b7280;
}

.quickate-stats-period-switcher {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.quickate-stats-period-btn,
.quickate-form-responses-page-btn {
	appearance: none;
	border: 1px solid #d7dcf5;
	background: #fff;
	color: #4338ca;
	border-radius: 999px;
	padding: 8px 14px;
	font-weight: 600;
	cursor: pointer;
}

.quickate-stats-period-btn.is-active {
	background: #4338ca;
	border-color: #4338ca;
	color: #fff;
}

.quickate-stats-highlights-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.quickate-stats-highlight-list {
	display: grid;
	gap: 10px;
}

.quickate-stats-highlight-item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 14px;
	width: 100%;
	text-align: left;
	padding: 14px 16px;
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #d7deea;
	border-radius: 14px;
	background: #ffffff !important;
	color: #0f172a !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
	cursor: pointer;
}

.quickate-stats-highlight-item__title {
	font-weight: 600;
	color: #0f172a !important;
	margin-bottom: 4px;
}

.quickate-stats-highlight-item__meta {
	font-size: 13px;
	color: #475569 !important;
}

.quickate-stats-highlight-item:hover,
.quickate-stats-highlight-item:focus {
	background: #f8fbff !important;
	border-color: #bfd0ea;
	color: #0f172a !important;
	transform: translateY(-1px);
}

.quickate-stats-highlight-item:focus-visible {
	outline: 3px solid rgba(59, 130, 246, 0.18);
	outline-offset: 2px;
}

.quickate-stats-highlight-item__badges {
	color: inherit;
}

.quickate-status-badges--stats {
	margin-bottom: 12px;
}

.quickate-stats-card-responses {
	margin-top: 8px;
}

.quickate-stats-response-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.quickate-stats-response-filters label {
	display: grid;
	gap: 6px;
	font-size: 13px;
	color: #374151;
}

.quickate-stats-response-filters input,
.quickate-stats-response-filters select {
	width: 100%;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	padding: 10px 12px;
	background: #fff;
}

.quickate-stats-response-filters__search {
	grid-column: span 2;
}

.quickate-stats-response-filters__actions {
	grid-column: 1 / -1;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

.quickate-stats-response-summary {
	margin-bottom: 12px;
	font-size: 13px;
	color: #6b7280;
}

.quickate-response-preview-item {
	display: grid;
	gap: 4px;
	padding: 8px 0;
}

.quickate-response-preview-item + .quickate-response-preview-item {
	border-top: 1px solid #eef2f7;
}

.quickate-response-preview-item strong {
	font-size: 12px;
	color: #6b7280;
}

.quickate-response-preview-item span {
	color: #111827;
	line-height: 1.6;
	word-break: break-word;
}

.quickate-stats-pagination {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
}

.quickate-stats-pagination-current {
	font-size: 13px;
	font-weight: 600;
	color: #374151;
}

@media (max-width: 820px) {
	.quickate-stats-main-grid,
	.quickate-stats-main-grid--detail,
	.quickate-stats-card-head--detail,
	.quickate-stats-highlights-grid {
		grid-template-columns: 1fr;
		display: grid;
	}

	.quickate-stats-card-head--detail {
		align-items: stretch;
	}

	.quickate-stats-toolbar,
	.quickate-stats-response-filters {
		grid-template-columns: 1fr;
	}

	.quickate-stats-toolbar {
		display: grid;
	}

	.quickate-stats-response-filters__search,
	.quickate-stats-response-filters__actions {
		grid-column: auto;
	}

	.quickate-stats-response-filters__actions {
		justify-content: stretch;
	}
}

.quickate-mypage-header-actions {
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	align-items:center;
}

.quickate-user-provider {
	display:inline-flex;
	align-items:center;
	padding:4px 10px;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
	background:#eef2ff;
	color:#4338ca;
	margin-left:8px;
}

.quickate-settings-grid {
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
	gap:18px;
}

.quickate-account-card,
.quickate-settings-card {
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:20px;
	padding:22px;
	box-shadow:0 6px 20px rgba(15,23,42,.04);
}

.quickate-account-message {
	padding:12px 16px;
	border-radius:12px;
	margin-bottom:16px;
	font-weight:600;
}

.quickate-account-message-success {
	background:#ecfdf5;
	color:#065f46;
	border:1px solid #a7f3d0;
}

.quickate-account-summary {
	display:flex;
	gap:18px;
	align-items:flex-start;
	margin-bottom:18px;
}

.quickate-account-avatar-wrap {
	flex-shrink:0;
}

.quickate-account-avatar {
	width:72px;
	height:72px;
	border-radius:50%;
	object-fit:cover;
	border:3px solid #eef2ff;
}

.quickate-account-provider-row {
	display:flex;
	gap:10px;
	margin-bottom:8px;
	font-size:14px;
	color:#334155;
	flex-wrap:wrap;
}

.quickate-account-form {
	display:grid;
	gap:14px;
}

.quickate-account-form label {
	display:grid;
	gap:6px;
	font-weight:600;
	color:#0f172a;
}

.quickate-account-form input {
	width:100%;
	padding:12px 14px;
	border:1px solid #dbe0ea;
	border-radius:12px;
	background:#fff;
}

.quickate-account-form small {
	font-size:12px;
	font-weight:400;
	color:#64748b;
}

.quickate-account-form-actions {
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	align-items:center;
}

.shotokubox-auth-shell {
	max-width:760px;
	margin:40px auto;
	padding:0 16px;
}

.shotokubox-auth-card {
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:28px;
	box-shadow:0 20px 50px rgba(15,23,42,.08);
	padding:28px;
}

.shotokubox-auth-badge {
	display:inline-flex;
	padding:6px 12px;
	border-radius:999px;
	background:#eef2ff;
	color:#4338ca;
	font-size:12px;
	font-weight:700;
	margin-bottom:14px;
}

.shotokubox-auth-title {
	margin:0 0 10px;
	font-size:32px;
	line-height:1.2;
}

.shotokubox-auth-description,
.shotokubox-auth-muted {
	color:#64748b;
	line-height:1.7;
}

.shotokubox-google-login-btn {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	width:100%;
	padding:15px 18px;
	border-radius:16px;
	border:1px solid #dbe0ea;
	background:#fff;
	font-weight:700;
	text-decoration:none;
	color:#0f172a;
	margin-top:18px;
}

.shotokubox-google-login-btn__icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border-radius:50%;
	background:#f8fafc;
	border:1px solid #e5e7eb;
}

.shotokubox-auth-divider {
	position:relative;
	text-align:center;
	margin:24px 0 18px;
	color:#94a3b8;
}

.shotokubox-auth-divider:before {
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:50%;
	border-top:1px solid #e5e7eb;
}

.shotokubox-auth-divider span {
	position:relative;
	background:#fff;
	padding:0 12px;
}

.shotokubox-auth-form .login-username,
.shotokubox-auth-form .login-password,
.shotokubox-auth-form .login-remember,
.shotokubox-auth-form .login-submit {
	margin-bottom:14px;
}

.shotokubox-auth-form label {
	display:block;
	margin-bottom:6px;
	font-weight:600;
}

.shotokubox-auth-form input[type='text'],
.shotokubox-auth-form input[type='password'] {
	width:100%;
	padding:12px 14px;
	border:1px solid #dbe0ea;
	border-radius:12px;
}

.shotokubox-auth-form input[type='submit'] {
	padding:12px 18px;
	border-radius:12px;
}

.shotokubox-auth-footer-links,
.shotokubox-auth-actions {
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	align-items:center;
	margin-top:18px;
}

.shotokubox-auth-alert {
	padding:12px 14px;
	border-radius:14px;
	margin:16px 0;
}

.shotokubox-auth-alert--error {
	background:#fef2f2;
	border:1px solid #fecaca;
	color:#991b1b;
}

/* ==========================================
   Workspace hard reset / compact theme palette
   Prevent WordPress theme styles from inflating controls
   ========================================== */
.shotokubox-public-workspace .quickate-form-builder-frontend,
.shotokubox-public-workspace .quickate-form-builder-frontend * {
	box-sizing: border-box;
}

.shotokubox-public-workspace .quickate-form-builder-frontend button,
.shotokubox-public-workspace .quickate-form-builder-frontend input,
.shotokubox-public-workspace .quickate-form-builder-frontend select,
.shotokubox-public-workspace .quickate-form-builder-frontend textarea {
	font: inherit !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.45 !important;
	max-width: 100%;
}

.shotokubox-public-workspace .quickate-form-builder-frontend button {
	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
}

.shotokubox-public-workspace .quickate-form-builder-frontend {
	padding: 18px !important;
}

.shotokubox-public-workspace .quickate-form-builder-section {
	margin-bottom: 22px !important;
	padding: 18px !important;
	border-radius: 16px !important;
}

.shotokubox-public-workspace .quickate-form-builder-section h3 {
	margin: 0 0 14px !important;
	font-size: 18px !important;
	line-height: 1.4 !important;
}

.shotokubox-public-workspace .quickate-form-field {
	margin-bottom: 14px !important;
}

.shotokubox-public-workspace .quickate-form-field label {
	margin-bottom: 6px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.shotokubox-public-workspace .quickate-input {
	padding: 10px 12px !important;
	border-radius: 10px !important;
	min-height: 0 !important;
	background: #fff !important;
}

.shotokubox-public-workspace textarea.quickate-input {
	min-height: 104px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-field {
	gap: 12px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-hero {
	gap: 12px !important;
	padding: 12px 14px !important;
	border-radius: 14px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-hero__swatches {
	gap: 8px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-hero__swatch {
	width: 26px !important;
	height: 26px !important;
	border-radius: 10px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-hero__kicker {
	font-size: 10px !important;
	letter-spacing: .06em !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-hero__title {
	font-size: 16px !important;
	line-height: 1.3 !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-hero__copy {
	margin-top: 2px !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-groups {
	grid-template-columns: minmax(0, 1fr) 280px !important;
	gap: 12px !important;
	align-items: start;
}

.shotokubox-public-workspace .shotokubox-theme-palette-group {
	padding: 14px !important;
	border-radius: 14px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-group__head h4 {
	margin: 0 0 2px !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-group__head p {
	margin: 0 0 10px !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

.shotokubox-public-workspace .shotokubox-theme-palette-grid--saved {
	grid-template-columns: 1fr !important;
}

.shotokubox-public-workspace .shotokubox-theme-card {
	gap: 6px !important;
	padding: 8px !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}

.shotokubox-public-workspace .shotokubox-theme-card:hover,
.shotokubox-public-workspace .shotokubox-theme-card:focus {
	transform: none !important;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
}

.shotokubox-public-workspace .shotokubox-theme-card__preview {
	height: 36px !important;
	padding: 6px !important;
	gap: 4px !important;
	border-radius: 10px !important;
}

.shotokubox-public-workspace .shotokubox-theme-card__preview i {
	border-radius: 999px !important;
}

.shotokubox-public-workspace .shotokubox-theme-card__label {
	font-size: 11px !important;
	line-height: 1.3 !important;
}

.shotokubox-public-workspace .shotokubox-theme-card__delete {
	top: 6px !important;
	right: 6px !important;
	width: 20px !important;
	height: 20px !important;
	font-size: 12px !important;
	line-height: 20px !important;
	padding: 0 !important;
}

.shotokubox-public-workspace .shotokubox-theme-custom-toolbar {
	gap: 8px !important;
	margin-bottom: 10px !important;
	align-items: center;
}

.shotokubox-public-workspace .shotokubox-theme-custom-toolbar .quickate-input {
	min-height: 40px !important;
}

.shotokubox-public-workspace .shotokubox-theme-custom-toolbar .quickate-btn-secondary,
.shotokubox-public-workspace .shotokubox-theme-custom-toolbar .button,
.shotokubox-public-workspace .shotokubox-theme-custom-toolbar button {
	padding: 10px 12px !important;
	min-height: 40px !important;
	border-radius: 10px !important;
	font-size: 12px !important;
	white-space: nowrap;
}

.shotokubox-public-workspace .shotokubox-theme-empty {
	padding: 12px !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
	border-radius: 12px !important;
}

.shotokubox-public-workspace .shotokubox-theme-designer {
	gap: 10px !important;
	padding: 14px !important;
	border-radius: 14px !important;
}

.shotokubox-public-workspace .shotokubox-theme-designer-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

.shotokubox-public-workspace .shotokubox-theme-token {
	gap: 6px !important;
	font-size: 11px !important;
}

.shotokubox-public-workspace .shotokubox-theme-token input[type="color"] {
	height: 34px !important;
	border-radius: 10px !important;
	background: var(--shotokubox-token-color, #ffffff) !important;
	border-color: color-mix(in srgb, var(--shotokubox-token-color, #ffffff) 24%, #cbd5e1) !important;
}

.shotokubox-public-workspace .shotokubox-theme-token input[type="color"]::-webkit-color-swatch,
.shotokubox-public-workspace .shotokubox-theme-token input[type="color"]::-moz-color-swatch {
	border: 0 !important;
	border-radius: inherit !important;
}

.shotokubox-public-workspace .shotokubox-theme-token input[type="text"],
.shotokubox-public-workspace .shotokubox-theme-token .quickate-input {
	min-height: 36px !important;
	padding: 8px 10px !important;
	font-size: 12px !important;
}

@media (max-width: 1200px) {
	.shotokubox-public-workspace .shotokubox-theme-palette-groups {
		grid-template-columns: 1fr !important;
	}

	.shotokubox-public-workspace .shotokubox-theme-palette-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.shotokubox-public-workspace .quickate-form-builder-frontend {
		padding: 12px !important;
	}

	.shotokubox-public-workspace .quickate-form-builder-section {
		padding: 14px !important;
	}

	.shotokubox-public-workspace .shotokubox-theme-palette-grid,
	.shotokubox-public-workspace .shotokubox-theme-designer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.quickate-account-summary {
		flex-direction:column;
	}
	.quickate-mypage-header-actions,
	.quickate-account-form-actions,
	.shotokubox-auth-footer-links,
	.shotokubox-auth-actions {
		width:100%;
	}
	.shotokubox-auth-title {
		font-size:26px;
	}
}

.quickate-stats-detail-kpis {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}

.quickate-stats-kpi-card--detail {
	min-height: 124px;
}

.quickate-stats-kpi-hint {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.55;
	color: #64748b;
}

.quickate-stats-insights {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}

.quickate-stats-question-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.quickate-stats-bar-label-row strong {
	white-space: nowrap;
}

@media (max-width: 1100px) {
	.quickate-stats-detail-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.quickate-stats-detail-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Response policy builder */
.shotokubox-public-workspace .quickate-form-builder-section--response-policy,
.quickate-form-builder-frontend .quickate-form-builder-section--response-policy {
	margin-top: 24px;
}

.shotokubox-response-policy-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.shotokubox-policy-option {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px;
	border: 1px solid rgba(99, 102, 241, 0.18);
	border-radius: 16px;
	background: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
}

.shotokubox-policy-option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.shotokubox-policy-option.is-active {
	border-color: var(--shotokubox-accent, #6366f1);
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
	background: rgba(99, 102, 241, 0.04);
}

.shotokubox-policy-option__title {
	font-weight: 700;
	color: #1f2937;
}

.shotokubox-policy-option__desc {
	font-size: 13px;
	line-height: 1.6;
	color: #64748b;
}

.shotokubox-response-policy-settings {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.shotokubox-response-policy-settings__group {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 16px;
	border: 1px solid rgba(148, 163, 184, 0.22);
	background: #f8fafc;
}

.shotokubox-response-policy-settings__group label {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.6;
	color: #334155;
}

.shotokubox-response-policy-settings__title {
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
}

#fb-policy-anonymous-notice-text {
	min-height: 92px;
}

@media (max-width: 900px) {
	.shotokubox-response-policy-grid,
	.shotokubox-response-policy-settings {
		grid-template-columns: 1fr;
	}
}

/* =========================================
   ShotokuBox Public AI Modal – compact styles & A×B templates
   ========================================= */
.shotokubox-public-ai-panel,
.shotokubox-public-ai-panel--modal {
	padding: 40px 32px 32px;
}

.shotokubox-public-ai-panel__top {
	margin-top: 8px;
}

.shotokubox-public-ai-modal__close {
	top: 22px;
	right: 22px;
	width: 54px;
	height: 54px;
	border-radius: 16px;
	background: #25155c;
	color: #ffffff;
	font-size: 28px;
	font-weight: 700;
	box-shadow: 0 16px 32px rgba(37, 21, 92, 0.22);
}

.shotokubox-public-ai-modal__close:hover,
.shotokubox-public-ai-modal__close:focus {
	background: #1b1045;
	color: #ffffff;
}

.shotokubox-public-ai-actions .quickate-btn,
.shotokubox-public-ai-actions button.quickate-btn,
.shotokubox-public-ai-actions .quickate-btn[type="button"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 220px !important;
	min-height: 48px !important;
	padding: 0 20px !important;
	margin: 0 !important;
	border-radius: 14px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

.shotokubox-public-ai-actions .quickate-btn-primary,
.shotokubox-public-ai-actions button.quickate-btn-primary {
	background: #25155c !important;
	border: 1px solid #25155c !important;
	color: #ffffff !important;
	box-shadow: 0 14px 28px rgba(37, 21, 92, 0.22) !important;
}

.shotokubox-public-ai-actions .quickate-btn-primary:hover,
.shotokubox-public-ai-actions .quickate-btn-primary:focus,
.shotokubox-public-ai-actions button.quickate-btn-primary:hover,
.shotokubox-public-ai-actions button.quickate-btn-primary:focus {
	background: #1b1045 !important;
	border-color: #1b1045 !important;
	color: #ffffff !important;
}

.shotokubox-public-ai-actions .quickate-btn-secondary,
.shotokubox-public-ai-actions .quickate-btn:not(.quickate-btn-primary),
.shotokubox-public-ai-actions button.quickate-btn-secondary,
.shotokubox-public-ai-actions button.quickate-btn:not(.quickate-btn-primary) {
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #1e3a8a !important;
}

.shotokubox-public-ai-actions .quickate-btn-secondary:hover,
.shotokubox-public-ai-actions .quickate-btn-secondary:focus,
.shotokubox-public-ai-actions .quickate-btn:not(.quickate-btn-primary):hover,
.shotokubox-public-ai-actions .quickate-btn:not(.quickate-btn-primary):focus,
.shotokubox-public-ai-actions button.quickate-btn-secondary:hover,
.shotokubox-public-ai-actions button.quickate-btn-secondary:focus,
.shotokubox-public-ai-actions button.quickate-btn:not(.quickate-btn-primary):hover,
.shotokubox-public-ai-actions button.quickate-btn:not(.quickate-btn-primary):focus {
	background: #eff6ff !important;
	border-color: #93c5fd !important;
	color: #1d4ed8 !important;
}

.shotokubox-public-ai-composer {
	margin-top: 6px;
	padding: 20px;
	border-radius: 20px;
	background: #fff7ed;
	border: 1px solid rgba(251, 146, 60, 0.20);
}

.shotokubox-public-ai-composer__header {
	margin-bottom: 14px;
}

.shotokubox-public-ai-composer__title {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 800;
	color: #1f2a44;
}

.shotokubox-public-ai-composer__copy {
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
	color: #64748b;
}

.shotokubox-public-ai-composer__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.shotokubox-public-ai-axis {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.shotokubox-public-ai-axis__label {
	font-size: 13px;
	font-weight: 800;
	color: #334155;
}

.shotokubox-public-ai-axis__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.shotokubox-ai-axis-btn,
.shotokubox-public-ai-modal .shotokubox-ai-axis-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 9px 14px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	border: 1px solid #d7dee8 !important;
	color: #334155 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	transition: all .2s ease !important;
	box-shadow: none !important;
}

.shotokubox-ai-axis-btn:hover,
.shotokubox-ai-axis-btn:focus {
	background: #eff6ff !important;
	border-color: #93c5fd !important;
	color: #1d4ed8 !important;
	transform: translateY(-1px);
}

.shotokubox-ai-axis-btn.is-selected {
	background: #25155c !important;
	border-color: #25155c !important;
	color: #ffffff !important;
	box-shadow: 0 10px 22px rgba(37, 21, 92, 0.20) !important;
}

.shotokubox-public-ai-composer__preview {
	margin-top: 16px;
	padding: 12px 14px;
	border-radius: 14px;
	background: rgba(255,255,255,.75);
	border: 1px dashed rgba(37, 21, 92, 0.24);
	font-size: 14px;
	line-height: 1.8;
	color: #475569;
}

@media (max-width: 782px) {
	.shotokubox-public-ai-panel,
	.shotokubox-public-ai-panel--modal {
		padding: 28px 18px 22px;
	}

	.shotokubox-public-ai-modal__close {
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}

	.shotokubox-public-ai-composer__grid {
		grid-template-columns: 1fr;
	}

	.shotokubox-public-ai-actions .quickate-btn,
	.shotokubox-public-ai-actions button.quickate-btn,
	.shotokubox-public-ai-actions .quickate-btn[type="button"] {
		width: 100% !important;
	}
}

/* Standalone workspace route + question editor hardening */
.shotokubox-public-workspace .quickate-question-editor {
	margin-top: 20px !important;
	padding: 20px !important;
	background: #ffffff !important;
	border: 2px solid var(--shotokubox-accent, #6366f1) !important;
	border-radius: 16px !important;
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08) !important;
}

.shotokubox-public-workspace .quickate-question-editor h3 {
	margin: 0 0 16px !important;
	font-size: 28px !important;
	line-height: 1.2 !important;
}

.shotokubox-public-workspace .quickate-question-editor .quickate-form-field {
	margin-bottom: 16px !important;
}

.shotokubox-public-workspace .quickate-question-editor .quickate-input,
.shotokubox-public-workspace .quickate-question-editor textarea.quickate-input,
.shotokubox-public-workspace .quickate-question-editor select.quickate-input {
	width: 100% !important;
	min-height: 52px !important;
	padding: 12px 14px !important;
	border: 1px solid #d6dbe8 !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: #0f172a !important;
}

.shotokubox-public-workspace .quickate-question-editor textarea.quickate-input {
	min-height: 120px !important;
	resize: vertical !important;
}

.shotokubox-public-workspace .quickate-question-editor input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	margin-right: 8px !important;
}

.shotokubox-public-workspace .quickate-question-editor #fb-question-options-list {
	display: grid !important;
	gap: 10px !important;
}

.shotokubox-public-workspace .quickate-question-editor .quickate-option-item {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 44px !important;
	gap: 8px !important;
	align-items: center !important;
	margin: 0 !important;
}

.shotokubox-public-workspace .quickate-question-editor .quickate-btn,
.shotokubox-public-workspace .quickate-question-editor .quickate-btn-icon,
.shotokubox-public-workspace .quickate-question-editor .button {
	min-height: 44px !important;
	padding: 0 14px !important;
	border-radius: 12px !important;
}

.shotokubox-public-workspace .quickate-question-editor .quickate-btn-icon {
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
}

.shotokubox-public-workspace .quickate-question-editor .quickate-form-builder-actions {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	align-items: center !important;
}

.shotokubox-public-workspace .quickate-questions-list.ui-sortable {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shotokubox-public-workspace .quickate-question-item-content {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.shotokubox-public-workspace .quickate-question-drag {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	border: 1px dashed rgba(99, 102, 241, 0.25) !important;
	background: #f8f8ff !important;
	color: #6366f1 !important;
	cursor: grab;
	flex: 0 0 auto;
}

.shotokubox-public-workspace .quickate-question-drag:active {
	cursor: grabbing;
}

.shotokubox-public-workspace .quickate-question-item.is-active {
	border-color: #6366f1 !important;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

.shotokubox-public-workspace .quickate-question-item--placeholder {
	visibility: visible !important;
	background: rgba(99, 102, 241, 0.06);
	border: 1px dashed rgba(99, 102, 241, 0.35) !important;
	min-height: 72px;
}

.shotokubox-public-workspace .quickate-question-item .dashicons-move {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

.shotokubox-public-workspace .quickate-question-editor-row {
	list-style: none;
	margin: -2px 0 16px;
	padding: 0;
}

.shotokubox-public-workspace .quickate-question-editor.is-inline {
	margin-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	box-shadow: 0 14px 30px rgba(37, 22, 84, 0.08);
}

.shotokubox-public-workspace .quickate-question-item.is-active {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	margin-bottom: 0;
}

.shotokubox-public-workspace .quickate-option-item {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.shotokubox-public-workspace .quickate-option-drag {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	border: 1px dashed rgba(99, 102, 241, 0.28) !important;
	background: #f8f8ff !important;
	color: #6366f1 !important;
	cursor: grab;
	flex: 0 0 auto;
}

.shotokubox-public-workspace .quickate-option-drag:active {
	cursor: grabbing;
}

.shotokubox-public-workspace .quickate-option-item .fb-option-input {
	flex: 1 1 auto;
	min-width: 0;
}

.shotokubox-public-workspace .quickate-option-item--placeholder {
	visibility: visible !important;
	min-height: 44px;
	border-radius: 12px;
	background: rgba(99, 102, 241, 0.06);
	border: 1px dashed rgba(99, 102, 241, 0.35) !important;
	margin-bottom: 8px;
}

.shotokubox-public-workspace .quickate-option-item .dashicons-move {
	font-size: 18px;
	width: 18px;
	height: 18px;
}


.shotokubox-public-workspace #fb-question-options-wrapper {
	margin-top: 12px;
}

.shotokubox-public-workspace #fb-question-options-list,
.shotokubox-public-workspace #fb-question-options-list.ui-sortable {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 12px 0 14px !important;
	padding: 0 !important;
	width: 100% !important;
	list-style: none !important;
}

.shotokubox-public-workspace #fb-question-options-list .quickate-option-item {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
}

.shotokubox-public-workspace #fb-question-options-list .quickate-option-item > * {
	margin: 0 !important;
	float: none !important;
	position: static !important;
}

.shotokubox-public-workspace #fb-question-options-list .quickate-option-drag,
.shotokubox-public-workspace #fb-question-options-list .fb-remove-option {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	min-width: 42px !important;
	max-width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	border-radius: 12px !important;
	box-sizing: border-box !important;
	flex: 0 0 42px !important;
	align-self: center !important;
	float: none !important;
}

.shotokubox-public-workspace #fb-question-options-list .fb-remove-option {
	background: #24165a !important;
	border: 1px solid #24165a !important;
	color: #ffffff !important;
}

.shotokubox-public-workspace #fb-question-options-list .fb-remove-option:hover {
	background: #3a2689 !important;
	border-color: #3a2689 !important;
}

.shotokubox-public-workspace #fb-question-options-list .fb-option-input {
	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 42px !important;
	padding: 0 14px !important;
	margin: 0 !important;
	border-radius: 12px !important;
	box-sizing: border-box !important;
	align-self: center !important;
	float: none !important;
}

.shotokubox-public-workspace #fb-question-options-list .quickate-option-item--placeholder {
	min-height: 42px;
	margin: 0 !important;
}


.quickate-workspace-page {
	max-width: 1180px;
	margin: 0 auto;
}

.quickate-workspace-standalone {
	margin-top: 24px;
}

.quickate-form-detail-tabs {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 24px 0 18px;
}

.quickate-form-detail-tab-btn {
	appearance: none;
	border: 1px solid #d7def0;
	background: #fff;
	color: #344256;
	padding: 10px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.quickate-form-detail-tab-btn.is-active {
	background: #111827;
	border-color: #111827;
	color: #fff;
}

.quickate-form-detail-pane {
	display: none;
	margin-top: 8px;
}

.quickate-form-detail-pane.is-active {
	display: block;
}

.quickate-ai-toolbar,
.quickate-ai-report-head,
.quickate-ai-settings-card,
.quickate-ai-evidence-item,
.quickate-ai-history-item,
.quickate-ai-pill-card,
.quickate-ai-checklist {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
}

.quickate-ai-toolbar,
.quickate-ai-report-head,
.quickate-ai-settings-card {
	padding: 18px;
}

.quickate-ai-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.quickate-ai-toolbar__meta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	color: #64748b;
	font-size: 13px;
}

.quickate-ai-toolbar__meta span {
	padding: 6px 10px;
	background: #f8fafc;
	border-radius: 999px;
}

.quickate-ai-toolbar__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.quickate-ai-report-state {
	padding: 14px 16px;
	border-radius: 16px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	margin-bottom: 16px;
}

.quickate-ai-report-eyebrow {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6366f1;
	margin-bottom: 6px;
}

.quickate-ai-report-head {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 16px;
}

.quickate-ai-report-head h4 {
	margin: 0 0 8px;
	font-size: 24px;
}

.quickate-ai-report-head p {
	margin: 0;
	color: #475569;
}

.quickate-ai-report-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 13px;
	color: #64748b;
	min-width: 160px;
}

.quickate-ai-pill-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin-bottom: 16px;
}

.quickate-ai-pill-card {
	padding: 16px;
}

.quickate-ai-pill-card__meta,
.quickate-ai-pill-card__count {
	font-size: 12px;
	color: #64748b;
}

.quickate-ai-pill-card h5,
.quickate-ai-checklist h5,
.quickate-ai-history h5 {
	margin: 8px 0;
	font-size: 16px;
}

.quickate-ai-pill-card p,
.quickate-ai-checklist p {
	margin: 0;
	color: #475569;
}

.quickate-ai-two-col {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}

.quickate-ai-checklist {
	padding: 16px;
}

.quickate-ai-checklist ul {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 8px;
}

.quickate-ai-history {
	margin-top: 16px;
}

.quickate-ai-history-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 10px;
	padding: 12px 14px;
	margin-top: 10px;
	align-items: center;
}

.quickate-ai-history-item span,
.quickate-ai-history-item em {
	font-size: 12px;
	color: #64748b;
	font-style: normal;
}

.quickate-ai-evidence-item {
	overflow: hidden;
	margin-bottom: 12px;
}

.quickate-ai-evidence-toggle {
	width: 100%;
	border: 0;
	background: #fff;
	padding: 14px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 700;
	cursor: pointer;
}

.quickate-ai-evidence-body {
	display: none;
	padding: 0 16px 16px;
	color: #475569;
}

.quickate-ai-evidence-item.is-open .quickate-ai-evidence-body {
	display: block;
}

.quickate-ai-evidence-quotes {
	display: grid;
	gap: 10px;
	margin-top: 12px;
}

.quickate-ai-evidence-quotes blockquote {
	margin: 0;
	padding: 12px 14px;
	background: #f8fafc;
	border-left: 4px solid #c7d2fe;
	border-radius: 12px;
}

.quickate-ai-evidence-response-ids {
	margin-top: 10px;
	font-size: 12px;
	color: #64748b;
}

.quickate-ai-settings-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.quickate-ai-field {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #f8fafc;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
}

.quickate-ai-field--full {
	display: block;
	margin-top: 14px;
}

.quickate-ai-field span {
	font-weight: 700;
}

.quickate-ai-field small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #64748b;
}

.quickate-ai-field textarea,
.quickate-ai-field select {
	width: 100%;
}

.quickate-ai-focus-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 10px;
}

.quickate-ai-focus-option {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
}

.quickate-ai-settings-actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	flex-wrap: wrap;
}

.quickate-ai-empty {
	padding: 20px;
	border: 1px dashed #cbd5e1;
	border-radius: 18px;
	background: #fff;
}

.quickate-ai-inline-loading {
	padding: 12px 14px;
	margin-bottom: 14px;
	background: #fef3c7;
	border: 1px solid #fde68a;
	border-radius: 14px;
	font-size: 13px;
}

.quickate-notice {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999999;
	padding: 12px 16px;
	border-radius: 14px;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
	opacity: 0;
	transform: translateY(10px);
	transition: all 0.2s ease;
}

.quickate-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.quickate-notice--success {
	background: #16a34a;
}

.quickate-notice--error {
	background: #dc2626;
}

@media (max-width: 767px) {
	.quickate-ai-toolbar,
	.quickate-ai-report-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.quickate-ai-history-item {
		grid-template-columns: 1fr;
	}
}

.quickate-billing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 24px;
}

.quickate-billing-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.quickate-billing-card__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6366f1;
	margin-bottom: 10px;
}

.quickate-billing-card h3 {
	margin: 0 0 14px;
	font-size: 1.5rem;
}

.quickate-billing-card p {
	margin: 0 0 10px;
	color: #475569;
}

.quickate-billing-offers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}

.quickate-billing-offer-card {
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 20px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.quickate-billing-offer-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 10px;
}

.quickate-billing-offer-card__head h3 {
	margin: 0;
	font-size: 1rem;
}

.quickate-billing-offer-card__price {
	font-weight: 700;
	color: #0f172a;
	white-space: nowrap;
}

.quickate-billing-offer-card__meta,
.quickate-billing-offer-card__hint {
	font-size: 0.92rem;
	color: #64748b;
}

.quickate-billing-offer-card .quickate-btn {
	margin-top: 14px;
	width: 100%;
}

.quickate-billing-history-list {
	display: grid;
	gap: 14px;
}

.quickate-billing-history-item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
	border-top: 1px solid #e2e8f0;
}

.quickate-billing-history-item:first-child {
	border-top: none;
	padding-top: 0;
}

.quickate-billing-history-item strong {
	display: block;
	margin-bottom: 4px;
	color: #0f172a;
}

.quickate-billing-history-item__time {
	font-size: 0.85rem;
	color: #94a3b8;
	white-space: nowrap;
}

.quickate-inline-notice {
	margin-bottom: 20px;
	padding: 16px 18px;
	border-radius: 18px;
	border: 1px solid #cbd5e1;
	background: #f8fafc;
}

.quickate-inline-notice strong {
	display: block;
	margin-bottom: 6px;
	color: #0f172a;
}

.quickate-inline-notice p {
	margin: 0;
	color: #475569;
}

.quickate-inline-notice--error {
	background: #fef2f2;
	border-color: #fecaca;
}

.quickate-billing-grid--secondary {
	margin-top: 0;
}

.quickate-billing-metric-list {
	display: grid;
	gap: 12px;
	margin-bottom: 18px;
}

.quickate-billing-metric-list div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e2e8f0;
}

.quickate-billing-metric-list span {
	color: #64748b;
}

.quickate-billing-metric-list strong {
	color: #0f172a;
	font-weight: 700;
	text-align: right;
}

.quickate-billing-callout {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 14px;
	background: #eef2ff;
	color: #4338ca;
}

.quickate-billing-callout--warn {
	background: #fff7ed;
	color: #c2410c;
}

.quickate-billing-list {
	margin: 0;
	padding-left: 18px;
	color: #334155;
	line-height: 1.8;
}

.quickate-billing-list--muted {
	color: #475569;
}

.quickate-billing-offer-card__desc {
	margin: 0 0 10px;
	color: #475569;
	font-size: 0.95rem;
	line-height: 1.6;
}

.quickate-billing-card__lead {
	margin: 0 0 18px;
	color: #475569;
	font-size: 0.96rem;
	line-height: 1.7;
}

.quickate-campaign-status-card,
.quickate-campaign-actions-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.quickate-campaign-status-card__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 20px;
}

.quickate-campaign-status-card__header h3,
.quickate-campaign-actions-card h3 {
	margin: 0;
	font-size: 1.45rem;
}

.quickate-campaign-status-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.quickate-campaign-status-grid div {
	padding: 16px 18px;
	border-radius: 18px;
	background: #f8fafc;
}

.quickate-campaign-status-grid span {
	display: block;
	margin-bottom: 6px;
	font-size: 0.85rem;
	color: #64748b;
}

.quickate-campaign-status-grid strong,
.quickate-campaign-status-grid a {
	color: #0f172a;
	word-break: break-word;
}

.quickate-campaign-pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 700;
}

.quickate-campaign-pill--active {
	background: #dcfce7;
	color: #166534;
}

.quickate-campaign-pill--scheduled {
	background: #dbeafe;
	color: #1d4ed8;
}

.quickate-campaign-pill--ended,
.quickate-campaign-pill--expired,
.quickate-campaign-pill--inactive {
	background: #e2e8f0;
	color: #334155;
}

.quickate-campaign-callout {
	margin: 0;
	padding: 14px 16px;
	border-radius: 16px;
	background: #f8fafc;
	color: #475569;
}

.quickate-campaign-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 18px 0 16px;
}

.quickate-campaign-hints p {
	margin: 0 0 12px;
	color: #475569;
}

.quickate-campaign-link-box {
	display: block;
}

.quickate-btn-ghost {
	background: transparent;
	border: 1px solid #cbd5e1;
	color: #475569;
}

.quickate-btn-ghost:hover {
	background: #f8fafc;
	color: #0f172a;
}

@media (max-width: 900px) {
	.quickate-billing-grid {
		grid-template-columns: 1fr;
	}

	.quickate-campaign-status-card__header,
	.quickate-campaign-status-grid {
		grid-template-columns: 1fr;
		flex-direction: column;
	}
}
