.justblog-theme {
	--jb-color-bg: #f5f7fa;
	--jb-color-surface: #ffffff;
	--jb-color-surface-soft: #f9fafc;
	--jb-color-border: #e6ebf2;
	--jb-color-border-strong: #d7dee9;
	--jb-color-text: #111827;
	--jb-color-muted: #5f6b7a;
	--jb-color-subtle: #8a95a5;
	--jb-color-accent: #1769e0;
	--jb-color-accent-dark: #0f4dbf;
	--jb-color-soft: #edf5ff;
	--jb-color-green: #14825d;
	--jb-shadow-card: 0 12px 32px rgba(16, 24, 40, 0.06);
	--jb-shadow-soft: 0 6px 18px rgba(16, 24, 40, 0.05);
	--jb-radius: 8px;
}

.jb-icon-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.jb-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
	vertical-align: -0.15em;
}

.jb-icon-badge {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	flex: 0 0 auto;
	border: 1px solid rgba(23, 105, 224, 0.14);
	border-radius: 8px;
	background: linear-gradient(180deg, #ffffff 0%, var(--jb-color-soft) 100%);
	color: var(--jb-color-accent);
}

.jb-icon-badge .jb-icon {
	width: 22px;
	height: 22px;
}

.jb-link-arrow {
	margin-left: auto;
	color: var(--jb-color-subtle);
}

.jb-button,
.jb-auth-button,
.search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 9px 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: #344054;
	cursor: pointer;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.jb-button-primary,
.jb-auth-button-primary {
	border-color: var(--jb-color-accent);
	background: var(--jb-color-accent);
	color: #fff;
}

.jb-button-ghost {
	background: var(--jb-color-surface-soft);
}

.jb-button:hover,
.jb-auth-button:hover,
.search-submit:hover {
	border-color: rgba(23, 105, 224, 0.42);
	color: var(--jb-color-accent);
}

.jb-button-primary:hover,
.jb-auth-button-primary:hover {
	border-color: var(--jb-color-accent-dark);
	background: var(--jb-color-accent-dark);
	color: #fff;
}

.jb-button.is-loading,
.jb-button:disabled,
.jb-payment-method.is-loading,
.jb-package.is-loading {
	cursor: progress;
	opacity: 0.72;
}

.jb-panel,
.jb-card,
.jb-summary-card {
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: var(--jb-color-surface);
	box-shadow: var(--jb-shadow-card);
}

.jb-panel {
	padding: 22px;
}

.jb-panel-soft {
	background: linear-gradient(180deg, #fff 0%, var(--jb-color-surface-soft) 100%);
}

.jb-panel h2,
.jb-product-panel h2 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 0;
	color: var(--jb-color-text);
}

.jb-summary-grid,
.jb-packages-grid,
.jb-account-links {
	display: grid;
	gap: 14px;
}

.jb-summary-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-bottom: 18px;
}

.jb-summary-card {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 16px;
}

.jb-summary-card strong {
	display: block;
	color: var(--jb-color-text);
	font-size: 22px;
	line-height: 1.2;
	word-break: break-word;
}

.jb-summary-card p {
	margin: 4px 0 0;
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-account-links {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.jb-account-links a {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: #344054;
	font-weight: 800;
}

.jb-account-links a:hover {
	border-color: rgba(23, 105, 224, 0.42);
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
}

.jb-packages-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jb-card {
	padding: 22px;
}

.jb-card-plan {
	display: grid;
	align-content: start;
	gap: 12px;
}

.jb-card-plan h3 {
	margin: 0;
	color: var(--jb-color-text);
	font-size: 22px;
}

.jb-card-price {
	margin: 0;
	color: var(--jb-color-accent);
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.jb-empty-state {
	display: grid;
	place-items: center;
	gap: 12px;
	padding: 36px 20px;
	border: 1px dashed var(--jb-color-border-strong);
	border-radius: 8px;
	background: var(--jb-color-surface-soft);
	color: var(--jb-color-muted);
	text-align: center;
}

.jb-empty-state > .jb-icon {
	width: 54px;
	height: 54px;
	color: var(--jb-color-accent);
}

.jb-empty-state p {
	margin: 0;
}

.jb-content-area {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 32px;
	padding: 32px 0;
}

.jb-site-main {
	min-height: 60vh;
}

.jb-site-footer {
	border-top: 1px solid #e5e7eb;
	border-bottom: 0;
}

.jb-footer-inner {
	padding: 20px 0;
}

@media (max-width: 900px) {
	.jb-content-area {
		grid-template-columns: 1fr;
	}
}

.jb-product-page {
	padding: 34px 0 72px;
}

.jb-product-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 28px;
	padding: 14px 0 26px;
}

.jb-product-hero h1 {
	margin: 6px 0 10px;
	font-size: 40px;
	line-height: 1.12;
	letter-spacing: 0;
}

.jb-product-hero p {
	margin: 0;
	max-width: 760px;
	color: var(--jb-color-muted);
}

.jb-hero-actions,
.jb-chat-composer div {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 12px;
}

.jb-asset-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(112px, 1fr));
	gap: 10px;
	min-width: min(460px, 100%);
}

.jb-asset-strip div,
.jb-stat-grid div {
	padding: 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
}

.jb-stat-grid div {
	display: grid;
	align-content: start;
	gap: 6px;
}

.jb-stat-grid .jb-icon-badge {
	margin-bottom: 2px;
}

.jb-asset-strip span,
.jb-stat-grid span,
.jb-cost-box span {
	display: block;
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-asset-strip strong,
.jb-stat-grid strong,
.jb-cost-box strong {
	display: block;
	margin-top: 4px;
	color: var(--jb-color-text);
	font-size: 22px;
	line-height: 1.2;
}

.jb-dashboard-layout,
.jb-ai-workspace,
.jb-purchase-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 22px;
}

.jb-purchase-layout {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 22px;
}

.jb-side-rail,
.jb-product-panel,
.jb-plan-card {
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: var(--jb-color-surface);
	box-shadow: var(--jb-shadow-card);
}

.jb-side-rail {
	align-self: start;
	position: sticky;
	top: 96px;
	padding: 18px;
}

.jb-profile-summary {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--jb-color-border);
}

.jb-profile-summary strong {
	display: block;
	font-size: 17px;
}

.jb-profile-summary span {
	display: block;
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-account-avatar {
	border-radius: 999px;
}

.jb-rail-nav {
	display: grid;
	gap: 6px;
	margin-top: 16px;
}

.jb-rail-nav a {
	padding: 10px 12px;
	border-radius: 8px;
	color: #344054;
	font-weight: 700;
}

.jb-rail-nav a:hover,
.jb-rail-nav a.is-active {
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
}

.jb-dashboard-main {
	display: grid;
	gap: 22px;
}

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

.jb-stat-grid small {
	display: block;
	margin-top: 6px;
	color: var(--jb-color-subtle);
}

.jb-product-panel {
	padding: 22px;
}

.jb-panel-head {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.jb-panel-head h2 {
	margin: 0 0 6px;
	font-size: 22px;
	line-height: 1.25;
}

.jb-panel-head p {
	margin: 0;
	color: var(--jb-color-muted);
}

.jb-timeline-list,
.jb-table-list,
.jb-option-list {
	display: grid;
	gap: 10px;
}

.jb-timeline-list div,
.jb-table-list div {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--jb-color-border);
}

.jb-timeline-list time,
.jb-table-list span {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-table-list em {
	color: var(--jb-color-text);
	font-style: normal;
	font-weight: 800;
}

.jb-table-list mark {
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
	font-size: 12px;
	font-weight: 800;
}

.jb-ai-workspace {
	grid-template-columns: 320px minmax(0, 1fr);
}

.jb-choice,
.jb-package {
	width: 100%;
	padding: 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: var(--jb-color-text);
	cursor: pointer;
	text-align: left;
}

.jb-package {
	display: flex;
	align-items: center;
	gap: 12px;
}

.jb-choice strong,
.jb-package strong {
	display: block;
	font-size: 18px;
}

.jb-choice span,
.jb-package span {
	display: block;
	margin-top: 4px;
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-package > span:not(.jb-icon-badge) {
	min-width: 0;
	margin-top: 0;
}

.jb-package em {
	display: block;
	margin-top: 4px;
	color: var(--jb-color-accent);
	font-style: normal;
	font-weight: 900;
}

.jb-choice.is-active,
.jb-package.is-active {
	border-color: rgba(23, 105, 224, 0.48);
	box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.1);
}

.jb-cost-box {
	display: grid;
	gap: 10px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--jb-color-border);
}

.jb-chat-panel {
	min-height: 620px;
	display: grid;
	grid-template-rows: minmax(300px, 1fr) auto;
	gap: 18px;
}

.jb-chat-log {
	display: grid;
	align-content: start;
	gap: 14px;
}

.jb-message {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 10px;
	max-width: 78%;
}

.jb-message span {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border-radius: 8px;
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
	font-weight: 900;
}

.jb-message p {
	margin: 0;
	padding: 12px 14px;
	border-radius: 8px;
	background: var(--jb-color-surface-soft);
}

.jb-message.is-user {
	margin-left: auto;
}

.jb-message.is-user p {
	background: var(--jb-color-soft);
}

.jb-chat-composer textarea {
	width: 100%;
	min-height: 128px;
	padding: 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	resize: vertical;
}

.jb-chat-composer span {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.jb-plan-card {
	display: grid;
	gap: 14px;
	padding: 24px;
}

.jb-plan-card.is-featured {
	border-color: rgba(23, 105, 224, 0.42);
	box-shadow: 0 16px 40px rgba(23, 105, 224, 0.12);
}

.jb-plan-card > span {
	color: var(--jb-color-accent);
	font-weight: 900;
}

.jb-plan-card > strong {
	font-size: 36px;
	line-height: 1;
}

.jb-plan-card p {
	margin: 0;
	color: var(--jb-color-muted);
}

.jb-plan-card ul {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jb-plan-card li {
	padding-left: 18px;
	position: relative;
}

.jb-plan-card li::before {
	position: absolute;
	left: 0;
	color: var(--jb-color-accent);
	content: "✓";
}

.jb-package-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.jb-confirm-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.jb-confirm-modal.is-open {
	display: flex;
}

.jb-confirm-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 24, 39, 0.46);
	backdrop-filter: blur(10px);
}

.jb-confirm-dialog {
	position: relative;
	z-index: 1;
	width: min(420px, 100%);
	padding: 22px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 28px 80px rgba(16, 24, 40, 0.24);
}

.jb-confirm-dialog h2 {
	margin: 0 0 8px;
	font-size: 22px;
}

.jb-confirm-dialog p {
	margin: 0;
	color: var(--jb-color-muted);
}

.jb-confirm-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}

.jb-reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 120;
	width: 100%;
	height: 3px;
	background: transparent;
}

.jb-reading-progress span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--jb-color-accent);
	transition: width 0.1s linear;
}

.jb-article-page {
	background: var(--jb-color-bg);
}

.jb-article-hero {
	border-bottom: 1px solid var(--jb-color-border);
	background: #fff;
}

.jb-article-hero-inner {
	display: grid;
	gap: 14px;
	padding: 34px 0 30px;
}

.jb-article-breadcrumb,
.jb-article-meta,
.jb-article-actions,
.jb-ai-summary-actions,
.jb-paid-actions,
.jb-article-nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.jb-article-breadcrumb {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-article-taxonomy {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.jb-article-taxonomy a,
.jb-tag-list a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
	font-size: 13px;
	font-weight: 800;
}

.jb-article-hero h1 {
	max-width: 880px;
	margin: 0;
	color: var(--jb-color-text);
	font-size: 42px;
	line-height: 1.14;
	letter-spacing: 0;
}

.jb-article-meta {
	color: var(--jb-color-muted);
	font-size: 14px;
}

.jb-article-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.jb-author-avatar {
	border-radius: 999px;
}

.jb-article-actions button,
.jb-reader-toolbar button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: #344054;
	cursor: pointer;
	font-weight: 800;
}

.jb-article-actions button.is-active,
.jb-reader-toolbar button.is-active {
	border-color: rgba(23, 105, 224, 0.42);
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
}

.jb-article-cover {
	margin-top: 24px;
	margin-bottom: 0;
}

.jb-article-cover img {
	width: 100%;
	max-height: 520px;
	object-fit: cover;
	border-radius: 8px;
}

.jb-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
	padding: 28px 0 72px;
}

.jb-article-main {
	display: grid;
	gap: 22px;
	min-width: 0;
}

.jb-ai-summary-card,
.jb-paid-preview,
.jb-related-posts,
.jb-sidebar-panel {
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jb-shadow-card);
}

.jb-ai-summary-card,
.jb-paid-preview,
.jb-related-posts {
	padding: 22px;
}

.jb-ai-summary-card h2,
.jb-paid-preview h2,
.jb-sidebar-panel h2 {
	margin: 4px 0 8px;
	font-size: 22px;
	line-height: 1.25;
}

.jb-ai-summary-card p,
.jb-paid-preview p {
	margin: 0;
	color: #344054;
	line-height: 1.8;
}

.jb-ai-summary-actions,
.jb-paid-actions {
	margin-top: 16px;
}

.jb-reader-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
}

.jb-reader-toolbar div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.jb-reader-toolbar a {
	color: var(--jb-color-accent);
	font-weight: 800;
}

.jb-article-content {
	padding: 30px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jb-shadow-card);
	color: var(--jb-color-text);
	font-size: 17px;
	line-height: 1.9;
}

.jb-article-content[data-font-size="small"] {
	font-size: 15px;
}

.jb-article-content[data-font-size="large"] {
	font-size: 19px;
}

.jb-article-content > *:first-child {
	margin-top: 0;
}

.jb-article-content > *:last-child {
	margin-bottom: 0;
}

.jb-article-content h2,
.jb-article-content h3 {
	margin-top: 1.8em;
	color: var(--jb-color-text);
	line-height: 1.35;
}

.jb-article-content img {
	height: auto;
	border-radius: 8px;
}

.jb-paid-preview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	background: linear-gradient(180deg, #fff 0%, var(--jb-color-soft) 100%);
}

.jb-article-footer {
	display: grid;
	gap: 16px;
	padding: 18px 0;
}

.jb-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.jb-article-nav {
	justify-content: space-between;
}

.jb-article-nav span {
	min-width: min(320px, 100%);
}

.jb-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.jb-related-card {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: var(--jb-color-surface-soft);
	color: var(--jb-color-text);
}

.jb-related-card span {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-article-sidebar {
	display: grid;
	align-content: start;
	gap: 16px;
	position: sticky;
	top: 96px;
}

.jb-sidebar-panel {
	padding: 18px;
}

.jb-sidebar-panel nav {
	display: grid;
	gap: 8px;
}

.jb-sidebar-panel nav a {
	padding: 8px 10px;
	border-radius: 8px;
	color: #344054;
	font-weight: 700;
}

.jb-sidebar-panel nav a:hover,
.jb-sidebar-panel nav a.is-active {
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
}

.jb-sidebar-author {
	display: flex;
	gap: 12px;
}

.jb-sidebar-author img {
	width: 56px;
	height: 56px;
	border-radius: 999px;
}

.jb-sidebar-author strong,
.jb-sidebar-author span {
	display: block;
}

.jb-sidebar-author span,
.jb-sidebar-cta p {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-comments {
	padding: 22px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--jb-shadow-card);
}

.jb-comments h2 {
	margin: 0 0 16px;
	font-size: 22px;
}

.jb-comment-list {
	display: grid;
	gap: 14px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.jb-comment-list .comment-body {
	padding: 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: var(--jb-color-surface-soft);
}

.comment-form {
	display: grid;
	gap: 12px;
}

.comment-form label {
	font-weight: 800;
}

.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
}

.comment-form input[type="submit"] {
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid var(--jb-color-accent);
	border-radius: 8px;
	background: var(--jb-color-accent);
	color: #fff;
	cursor: pointer;
	font-weight: 900;
}

.jb-order-layout,
.jb-checkout-layout,
.jb-checkin-layout,
.jb-invite-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 22px;
}

.jb-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.jb-filter-tabs button {
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: #344054;
	cursor: pointer;
	font-weight: 800;
}

.jb-filter-tabs button.is-active {
	border-color: rgba(23, 105, 224, 0.42);
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
}

.jb-order-list {
	display: grid;
	gap: 12px;
}

.jb-order-card {
	display: grid;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
}

.jb-order-card header,
.jb-order-card div,
.jb-order-card footer,
.jb-checkout-product {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.jb-order-card header strong {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.jb-order-card header span,
.jb-order-card time {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-order-card mark,
.jb-status-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
	font-size: 12px;
	font-weight: 900;
}

.jb-order-card em,
.jb-checkout-product em {
	color: var(--jb-color-text);
	font-style: normal;
	font-weight: 900;
}

.jb-summary-list {
	display: grid;
	gap: 10px;
}

.jb-summary-list div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--jb-color-border);
}

.jb-summary-list span {
	color: var(--jb-color-muted);
}

.jb-summary-list strong {
	color: var(--jb-color-text);
}

.jb-checkout-product {
	padding: 16px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: var(--jb-color-surface-soft);
}

.jb-checkout-product > div {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 4px 12px;
}

.jb-checkout-product .jb-icon-badge {
	grid-row: span 2;
}

.jb-checkout-product strong,
.jb-checkout-product span {
	display: block;
}

.jb-checkout-product span {
	margin-top: 5px;
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-checkout-product .jb-icon-badge,
.jb-payment-method .jb-icon-badge {
	display: inline-grid;
	width: 42px;
	height: 42px;
	margin-top: 0;
	color: var(--jb-color-accent);
	font-size: 16px;
}

.jb-payment-methods {
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.jb-payment-method {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 4px 12px;
	padding: 14px;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: var(--jb-color-text);
	cursor: pointer;
	text-align: left;
}

.jb-payment-method .jb-icon-badge {
	grid-row: span 2;
}

.jb-payment-method strong {
	color: var(--jb-color-text);
}

.jb-payment-method span {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-payment-method.is-active {
	border-color: rgba(23, 105, 224, 0.48);
	box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.1);
}

.jb-pay-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 48px;
	margin-top: 18px;
	padding: 12px 16px;
	border: 1px solid var(--jb-color-accent);
	border-radius: 8px;
	background: var(--jb-color-accent);
	color: #fff;
	cursor: pointer;
	font-weight: 900;
}

.jb-checkout-summary p {
	margin: 12px 0 0;
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
}

.jb-calendar-grid span {
	display: grid;
	min-height: 44px;
	place-items: center;
	border: 1px solid var(--jb-color-border);
	border-radius: 8px;
	background: #fff;
	color: var(--jb-color-muted);
	font-weight: 800;
}

.jb-calendar-grid span.is-done {
	border-color: rgba(23, 105, 224, 0.42);
	background: var(--jb-color-soft);
	color: var(--jb-color-accent);
}

.jb-invite-code {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
	padding: 18px;
	border: 1px solid rgba(23, 105, 224, 0.24);
	border-radius: 8px;
	background: var(--jb-color-soft);
}

.jb-invite-code > .jb-icon {
	width: 38px;
	height: 38px;
	color: var(--jb-color-accent);
}

.jb-invite-code span {
	color: var(--jb-color-muted);
	font-size: 13px;
}

.jb-invite-code strong {
	font-size: 28px;
	line-height: 1.15;
}

.jb-invite-code p {
	margin: 0;
	color: var(--jb-color-accent);
	word-break: break-all;
}

@media (max-width: 960px) {
	.jb-product-hero,
	.jb-dashboard-layout,
	.jb-ai-workspace,
	.jb-purchase-layout,
	.jb-plan-grid,
	.jb-order-layout,
	.jb-checkout-layout,
	.jb-checkin-layout,
	.jb-invite-layout {
		grid-template-columns: 1fr;
	}

	.jb-side-rail {
		position: static;
	}

	.jb-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.jb-product-page {
		padding-top: 22px;
	}

	.jb-product-hero h1 {
		font-size: 30px;
	}

	.jb-asset-strip,
	.jb-stat-grid,
	.jb-package-grid {
		grid-template-columns: 1fr;
	}

	.jb-panel-head,
	.jb-chat-composer div,
	.jb-hero-actions {
		display: grid;
		justify-content: stretch;
	}

	.jb-timeline-list div,
	.jb-table-list div,
	.jb-order-card header,
	.jb-order-card div,
	.jb-order-card footer,
	.jb-checkout-product {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.jb-order-card header,
	.jb-order-card div,
	.jb-order-card footer,
	.jb-checkout-product {
		display: grid;
		align-items: start;
	}

	.jb-message {
		max-width: 100%;
	}

	.jb-calendar-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.jb-article-layout,
	.jb-paid-preview {
		grid-template-columns: 1fr;
	}

	.jb-article-sidebar {
		position: static;
	}

	.jb-related-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.jb-article-hero-inner {
		padding: 24px 0;
	}

	.jb-article-hero h1 {
		font-size: 30px;
	}

	.jb-article-layout {
		padding-top: 18px;
	}

	.jb-article-content,
	.jb-ai-summary-card,
	.jb-paid-preview,
	.jb-related-posts {
		padding: 18px;
	}

	.jb-reader-toolbar,
	.jb-article-nav {
		display: grid;
	}
}
