.xpost-portal {
	--portal-ink: #121723;
	--portal-soft: #4d5666;
	--portal-line: #dbe5f4;
	--portal-blue: #0877ee;
	--portal-blue-dark: #075fc0;
	--portal-yellow: #ffbe16;
	--portal-green: #39a935;
	--portal-red: #d41420;
	--portal-bg: #edf5ff;
	--portal-white: #ffffff;
	color: var(--portal-ink);
}

.xpost-portal *,
.xpost-portal *::before,
.xpost-portal *::after {
	box-sizing: border-box;
}

.xpost-portal-hero,
.xpost-dashboard-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 28px;
	padding: 34px;
	border: 1px solid var(--portal-line);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(8, 119, 238, 0.12), rgba(255, 190, 22, 0.1)),
		var(--portal-white);
	box-shadow: 0 16px 45px rgba(18, 23, 35, 0.08);
}

.xpost-portal-hero {
	display: block;
	max-width: 920px;
}

.xpost-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	color: var(--portal-blue-dark);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.xpost-kicker::before {
	content: "";
	width: 28px;
	height: 3px;
	border-radius: 999px;
	background: var(--portal-yellow);
}

.xpost-portal h1,
.xpost-portal h2 {
	margin: 0;
	line-height: 1.13;
	letter-spacing: 0;
}

.xpost-portal h1 {
	max-width: 760px;
	font-size: clamp(2rem, 5vw, 3.7rem);
}

.xpost-portal h2 {
	font-size: 1.35rem;
}

.xpost-portal p {
	color: var(--portal-soft);
}

.xpost-portal-hero p,
.xpost-dashboard-head p {
	max-width: 720px;
	margin: 14px 0 0;
	font-size: 1.05rem;
}

.xpost-auth-grid,
.xpost-stat-grid,
.xpost-action-grid,
.xpost-support-grid {
	display: grid;
	gap: 20px;
}

.xpost-auth-grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
	align-items: start;
}

.xpost-stat-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 20px;
}

.xpost-action-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 20px;
}

.xpost-support-grid {
	grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr);
	align-items: start;
}

.xpost-card {
	border: 1px solid var(--portal-line);
	border-radius: 8px;
	background: var(--portal-white);
	box-shadow: 0 14px 36px rgba(18, 23, 35, 0.08);
	padding: 24px;
}

.xpost-card > p:first-of-type {
	margin-top: 10px;
}

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

.xpost-form label {
	display: grid;
	gap: 7px;
	margin: 0;
	color: var(--portal-ink);
	font-weight: 750;
}

.xpost-form label span {
	font-size: 0.88rem;
}

.xpost-form input,
.xpost-form select,
.xpost-form textarea {
	width: 100%;
	border: 1px solid var(--portal-line);
	border-radius: 8px;
	background: #fbfdff;
	color: var(--portal-ink);
	padding: 13px 14px;
	outline: none;
}

.xpost-form input:focus,
.xpost-form select:focus,
.xpost-form textarea:focus {
	border-color: var(--portal-blue);
	box-shadow: 0 0 0 3px rgba(8, 119, 238, 0.16);
}

.xpost-check {
	display: flex !important;
	grid-template-columns: auto 1fr;
	align-items: flex-start;
	gap: 10px !important;
	color: var(--portal-soft) !important;
	font-weight: 600 !important;
}

.xpost-check input {
	width: 18px;
	height: 18px;
	margin-top: 4px;
}

.xpost-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 48px;
	border: 1px solid transparent;
	border-radius: 8px;
	padding: 0 18px;
	font-weight: 850;
	text-decoration: none;
	cursor: pointer;
}

.xpost-button--primary {
	background: var(--portal-blue);
	color: var(--portal-white);
	box-shadow: 0 14px 30px rgba(8, 119, 238, 0.22);
}

.xpost-button--primary:hover {
	background: var(--portal-blue-dark);
	color: var(--portal-white);
}

.xpost-button--secondary {
	background: var(--portal-yellow);
	color: var(--portal-ink);
}

.xpost-button--secondary:hover {
	background: #f0ad00;
	color: var(--portal-ink);
}

.xpost-small-link {
	color: var(--portal-blue-dark);
	font-weight: 750;
}

.xpost-alert {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-radius: 8px;
	font-weight: 750;
}

.xpost-alert--success {
	border: 1px solid rgba(57, 169, 53, 0.24);
	background: rgba(57, 169, 53, 0.1);
	color: #1f7a1b;
}

.xpost-alert--error {
	border: 1px solid rgba(212, 20, 32, 0.2);
	background: rgba(212, 20, 32, 0.08);
	color: var(--portal-red);
}

.xpost-stat span {
	display: block;
	color: var(--portal-soft);
	font-size: 0.86rem;
	font-weight: 800;
	text-transform: uppercase;
}

.xpost-stat strong {
	display: block;
	margin-top: 8px;
	font-size: 1.5rem;
	line-height: 1.2;
	word-break: break-word;
}

.xpost-stat p,
.xpost-action p {
	margin-bottom: 0;
}

.xpost-action {
	display: grid;
	gap: 12px;
}

.xpost-table-wrap {
	overflow-x: auto;
}

.xpost-table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
}

.xpost-table th,
.xpost-table td {
	padding: 13px 12px;
	border-bottom: 1px solid var(--portal-line);
	text-align: left;
	vertical-align: top;
}

.xpost-table th {
	color: var(--portal-soft);
	font-size: 0.82rem;
	text-transform: uppercase;
}

.xpost-empty {
	margin-bottom: 0;
	padding: 16px;
	border-radius: 8px;
	background: var(--portal-bg);
	color: var(--portal-soft);
}

.xpost-muted {
	color: var(--portal-soft);
	font-size: 0.92rem;
}

@media (max-width: 900px) {
	.xpost-dashboard-head,
	.xpost-auth-grid,
	.xpost-stat-grid,
	.xpost-action-grid,
	.xpost-support-grid {
		grid-template-columns: 1fr;
	}

	.xpost-dashboard-head {
		display: grid;
		align-items: start;
	}
}

@media (max-width: 640px) {
	.xpost-portal-hero,
	.xpost-dashboard-head,
	.xpost-card {
		padding: 20px;
	}

	.xpost-button {
		width: 100%;
	}
}
