/**
 * Celsyn 360 Partner Portal — standalone styling. Every custom property
 * reference includes a plain fallback value, so this page is fully usable
 * even when the theme's tokens.css isn't loaded (theme swapped, or
 * current_theme_supports('celsyn-liquid-design-system') not declared) —
 * when it IS loaded, these fall into the same Liquid Glass language
 * automatically with zero extra code.
 */

.celsyn-partners-portal {
	max-width: var( --container-lg, 1200px );
	margin-inline: auto;
	padding: var( --space-7, 3rem ) var( --space-5, 1.5rem ) var( --space-9, 6rem );
	font-family: var( --font-body, system-ui, sans-serif );
	color: var( --env-text, #12161f );
}

.celsyn-partners-login {
	max-width: 420px;
	margin: 0 auto;
}

.celsyn-partners-apply { max-width: 720px; margin: 0 auto; }
.celsyn-partners-apply-grid {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 0 1.5rem;
}
@media ( max-width: 600px ) { .celsyn-partners-apply-grid { grid-template-columns: 1fr; } }

.celsyn-partners-lost-password-link { margin-top: 0.75rem; display: block; }
.celsyn-partners-login h1 { font-family: var( --font-display, inherit ); margin: 0 0 var( --space-4, 1rem ); }
.celsyn-partners-eyebrow {
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var( --env-accent, #0e58bf );
	margin: 0 0 0.5rem;
}

.celsyn-partners-notice { padding: 0.75rem 1rem; border-radius: var( --radius-sm, 8px ); font-size: 0.9rem; }
.celsyn-partners-notice--error { background: rgb( 217 76 56 / 0.12 ); color: #b3402b; }

.celsyn-partners-form p { display: flex; flex-direction: column; gap: 0.4rem; margin: 0 0 1rem; }
.celsyn-partners-form label { font-size: 0.8rem; font-weight: 600; color: var( --env-text-muted, #5b5d63 ); }
.celsyn-partners-form input,
.celsyn-partners-form select,
.celsyn-partners-form textarea {
	font-family: inherit;
	font-size: 1rem;
	padding: 0.6rem 0.8rem;
	border: 1px solid var( --env-line-strong, #d8d5cd );
	border-radius: var( --radius-sm, 8px );
	background: var( --env-bg, #fff );
	color: var( --env-text, #12161f );
}
.celsyn-partners-form--inline { display: flex; gap: 0.75rem; align-items: flex-end; flex-wrap: wrap; }
.celsyn-partners-form--inline p { margin: 0; }

.celsyn-partners-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var( --control-h-md, 44px );
	padding-inline: 1.5rem;
	border-radius: var( --radius-pill, 999px );
	background: var( --celsyn-blue, #0e58bf );
	color: #fff;
	border: none;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.celsyn-partners-button:hover { opacity: 0.9; }

.celsyn-partners-textlink { color: var( --env-accent, #0e58bf ); text-decoration: underline; font-size: 0.9rem; }

.celsyn-partners-portal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var( --space-6, 2rem );
}
.celsyn-partners-portal__header h1 { font-family: var( --font-display, inherit ); margin: 0; }

.celsyn-partners-tabs {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	border-bottom: 1px solid var( --env-line, #e7e3db );
	margin-bottom: var( --space-6, 2rem );
}
.celsyn-partners-tab {
	background: none;
	border: none;
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var( --env-text-muted, #5b5d63 );
	cursor: pointer;
	border-bottom: 2px solid transparent;
}
.celsyn-partners-tab.is-active { color: var( --env-accent, #0e58bf ); border-bottom-color: var( --env-accent, #0e58bf ); }

.celsyn-partners-panel { display: none; }
.celsyn-partners-panel.is-active { display: block; }

.celsyn-partners-stat-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat( auto-fit, minmax( 160px, 1fr ) );
}
.celsyn-partners-stat {
	background: var( --env-surface, #fff );
	border: 1px solid var( --env-line, #e7e3db );
	border-radius: var( --radius-lg, 20px );
	padding: 1.25rem;
}
.celsyn-partners-stat__label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var( --env-text-muted, #5b5d63 ); margin: 0 0 0.4rem; }
.celsyn-partners-stat__value { font-size: 1.5rem; font-weight: 700; font-variant-numeric: tabular-nums; margin: 0; }

.celsyn-partners-stat-grid--primary { margin-bottom: 1.5rem; }
.celsyn-partners-stat--primary {
	background: var( --celsyn-blue, #0e58bf );
	border-color: var( --celsyn-blue, #0e58bf );
}
.celsyn-partners-stat--primary .celsyn-partners-stat__label { color: rgb( 255 255 255 / 0.75 ); }
.celsyn-partners-stat--primary .celsyn-partners-stat__value { color: #fff; }
.celsyn-partners-stat--negative .celsyn-partners-stat__value { color: #b3402b; }
.celsyn-partners-section-title { font-size: 0.95rem; margin: 1.5rem 0 0.75rem; font-family: var( --font-display, inherit ); }

.celsyn-partners-table-wrap { overflow-x: auto; }
.celsyn-partners-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.celsyn-partners-table th,
.celsyn-partners-table td { text-align: left; padding: 0.6rem 0.75rem; border-bottom: 1px solid var( --env-line, #e7e3db ); }
.celsyn-partners-table th { font-size: 0.75rem; text-transform: uppercase; color: var( --env-text-muted, #5b5d63 ); }

.celsyn-partners-link-row { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid var( --env-line, #e7e3db ); }
.celsyn-partners-link-row code { background: var( --env-surface-2, #f2f0eb ); padding: 0.3rem 0.6rem; border-radius: 6px; flex: 1; overflow-x: auto; white-space: nowrap; }

.celsyn-partners-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; }
.celsyn-partners-badge--approved,
.celsyn-partners-badge--paid,
.celsyn-partners-badge--active { background: rgb( 31 157 107 / 0.14 ); color: #1f9d6b; }
.celsyn-partners-badge--pending,
.celsyn-partners-badge--draft,
.celsyn-partners-badge--scheduled,
.celsyn-partners-badge--processing { background: rgb( 185 120 10 / 0.14 ); color: #b9780a; }
.celsyn-partners-badge--reversed,
.celsyn-partners-badge--failed,
.celsyn-partners-badge--void { background: rgb( 217 76 56 / 0.14 ); color: #b3402b; }

.celsyn-partners-marketing-grid { display: grid; gap: 1rem; grid-template-columns: repeat( auto-fit, minmax( 220px, 1fr ) ); }
.celsyn-partners-marketing-card { border: 1px solid var( --env-line, #e7e3db ); border-radius: var( --radius-md, 14px ); overflow: hidden; background: var( --env-surface, #fff ); }
.celsyn-partners-marketing-card img { width: 100%; display: block; aspect-ratio: 4/3; object-fit: cover; }
.celsyn-partners-marketing-card__body { padding: 0.9rem; display: flex; flex-direction: column; gap: 0.6rem; }
.celsyn-partners-marketing-card__text {
	padding: 0.9rem 0.9rem 0;
	font-size: 0.85rem;
	color: var( --env-text-muted, #5b5d63 );
	white-space: pre-wrap;
	max-height: 140px;
	overflow-y: auto;
}
.celsyn-partners-marketing-card__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.celsyn-partners-button--ghost { background: transparent; border: 1px solid var( --env-line-strong, #d8d5cd ); color: var( --env-text, #12161f ); }
