/**
 * GoalConsult Growth360 — Front-End Assessment Styles
 * Styles the native assessment intake form and results summary
 * rendered by GC360_Assessment_Renderer via the [gc360_assessment]
 * shortcode.
 */

.gc360-assessment-frontend {
	max-width: 780px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5;
}

.gc360-assessment-title {
	margin-bottom: 4px;
}

.gc360-assessment-description {
	color: #555;
	margin-bottom: 24px;
}

.gc360-notice {
	padding: 14px 18px;
	border-radius: 4px;
	margin-bottom: 20px;
	font-weight: 600;
}

.gc360-notice-error {
	background: #fdecea;
	color: #a4262c;
	border: 1px solid #f5c2c0;
}

.gc360-notice-success {
	background: #e9f7ee;
	color: #1a7f37;
	border: 1px solid #b9e6c9;
}

.gc360-profile-fieldset,
.gc360-section-fieldset {
	border: 1px solid #d8d8d8;
	border-radius: 6px;
	padding: 20px 24px;
	margin-bottom: 24px;
}

.gc360-profile-fieldset legend,
.gc360-section-fieldset legend {
	font-weight: 700;
	font-size: 1.1em;
	padding: 0 6px;
}

.gc360-profile-field-row {
	margin-bottom: 14px;
}

.gc360-profile-field-row label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}

.gc360-profile-field-row input {
	width: 100%;
	max-width: 420px;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1em;
	box-sizing: border-box;
}

.gc360-required {
	color: #a4262c;
}

.gc360-question-row {
	padding: 14px 0;
	border-bottom: 1px solid #eee;
}

.gc360-question-row:last-child {
	border-bottom: none;
}

.gc360-question-label {
	font-weight: 600;
	margin-bottom: 10px;
}

.gc360-likert-scale {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.gc360-likert-option {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.92em;
	cursor: pointer;
}

.gc360-likert-option input {
	cursor: pointer;
}

.gc360-optional-tag {
	font-weight: 400;
	color: #888;
	font-size: 0.85em;
}

.gc360-choice-options {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gc360-choice-option {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 0.95em;
}

.gc360-choice-option input {
	cursor: pointer;
}

.gc360-other-text-input {
	margin-top: 6px;
	margin-left: 26px;
	padding: 6px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	width: calc(100% - 26px);
	max-width: 360px;
	box-sizing: border-box;
}

.gc360-other-text-input:disabled {
	background: #f5f5f5;
	color: #999;
}

.gc360-dropdown-input {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1em;
	min-width: 240px;
}

.gc360-number-input {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1em;
	width: 140px;
}

.gc360-rating-field {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gc360-field-hint {
	color: #888;
	font-size: 0.88em;
}

.gc360-open-ended-input {
	width: 100%;
	max-width: 600px;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1em;
	font-family: inherit;
	box-sizing: border-box;
}

.gc360-section-comment-row {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px dashed #ddd;
}

.gc360-section-comment-row label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	color: #555;
}

.gc360-section-comment-input {
	width: 100%;
	max-width: 600px;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 0.95em;
	font-family: inherit;
	box-sizing: border-box;
}

.gc360-submit-row {
	text-align: center;
	margin-top: 30px;
}

.gc360-submit-button {
	background: #1d4ed8;
	color: #fff;
	border: none;
	padding: 14px 36px;
	font-size: 1.05em;
	font-weight: 700;
	border-radius: 6px;
	cursor: pointer;
}

.gc360-submit-button:hover {
	background: #1742ad;
}

/* ----------------------------------------------------------------
   Pagination (multi-step form)
   ------------------------------------------------------------------
   Default state (no JavaScript): every .gc360-step is visible, so
   the assessment is fully completable on one scrollable page.
   Once JS runs, it adds .gc360-js-paginated to the root element,
   which is what actually triggers the "one step at a time" behavior
   below via .gc360-step-active. Without that class, the rules in
   this block simply don't apply and everything stays visible.
------------------------------------------------------------------- */

.gc360-progress-wrap {
	margin-bottom: 24px;
}

.gc360-progress-bar {
	background: #e8e8e8;
	border-radius: 8px;
	height: 8px;
	overflow: hidden;
}

.gc360-progress-fill {
	background: #1d4ed8;
	height: 100%;
	width: 0%;
	transition: width 0.25s ease;
}

.gc360-progress-label {
	font-size: 0.88em;
	color: #666;
	margin: 6px 0 0;
	text-align: right;
}

.gc360-js-paginated .gc360-step {
	display: none;
}

.gc360-js-paginated .gc360-step.gc360-step-active {
	display: block;
}

.gc360-step-nav {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 24px;
}

.gc360-nav-back,
.gc360-nav-next {
	padding: 12px 28px;
	font-size: 1em;
	font-weight: 600;
	border-radius: 6px;
	cursor: pointer;
	border: 1px solid #1d4ed8;
	background: #fff;
	color: #1d4ed8;
}

.gc360-nav-back:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.gc360-nav-next {
	background: #1d4ed8;
	color: #fff;
	margin-left: auto;
}

.gc360-nav-next:hover {
	background: #1742ad;
}

/* When JS pagination is active, the Submit button only ever appears
   on the final step (controlled inline by the script), so it should
   visually match the Next button rather than sit in its own row. */
.gc360-js-paginated .gc360-submit-button {
	margin-left: auto;
}

/* In the no-JS fallback, hide the step-nav buttons entirely since
   there is nothing to "navigate" -- everything is already visible
   and the single real Submit button at the bottom of the form
   (rendered as part of .gc360-step-nav) is still functional, so we
   only need to hide the Back/Next pair, not the whole nav row. */
.gc360-assessment-frontend:not(.gc360-js-paginated) .gc360-nav-back,
.gc360-assessment-frontend:not(.gc360-js-paginated) .gc360-nav-next {
	display: none;
}

.gc360-assessment-frontend:not(.gc360-js-paginated) .gc360-submit-button {
	display: block !important;
	margin: 0 auto;
}

.gc360-assessment-frontend:not(.gc360-js-paginated) .gc360-progress-wrap {
	display: none;
}

.gc360-step-error {
	color: #a4262c;
	font-weight: 600;
	text-align: center;
	margin-top: 10px;
	min-height: 1.2em;
}

.gc360-results-table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}

.gc360-results-table th,
.gc360-results-table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid #e0e0e0;
}

.gc360-results-table th {
	background: #f5f5f5;
	font-weight: 700;
}

.gc360-overall-score,
.gc360-maturity-level {
	font-size: 1.1em;
	margin: 8px 0;
}

.gc360-report-note {
	color: #777;
	font-style: italic;
	margin-top: 20px;
}

.gc360-history-request-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 420px;
	margin-top: 16px;
}

.gc360-history-request-form input[type="email"] {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border: 2px solid #ddd;
	border-radius: 8px;
	font-size: 1em;
	background: #fff;
	color: #222;
}

.gc360-history-request-form input[type="email"]:focus {
	outline: none;
	border-color: #1d4ed8;
	box-shadow: 0 0 0 3px rgba(29,78,216,0.12);
}

.gc360-history-request-form .gc360-submit-button {
	width: 100%;
	display: block;
	text-align: center;
	box-sizing: border-box;
}

.gc360-history-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 20px;
	flex-wrap: wrap;
	gap: 10px;
}

.gc360-history-subtitle {
	color: #666;
	margin-top: 4px;
}

.gc360-history-logout {
	color: #1d4ed8;
	text-decoration: none;
	font-size: 0.9em;
	white-space: nowrap;
}

.gc360-history-logout:hover {
	text-decoration: underline;
}

.gc360-history-chart-card {
	background: #fafafa;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px 24px;
	margin-bottom: 24px;
}

.gc360-history-chart-card h3 {
	margin-top: 0;
}

.gc360-trend-svg {
	width: 100%;
	height: auto;
	max-height: 240px;
}

.gc360-trend-up {
	color: #1a7f37;
	font-weight: 600;
}

.gc360-trend-down {
	color: #a4262c;
	font-weight: 600;
}

.gc360-trend-flat {
	color: #888;
}

.gc360-generic-advice {
	margin-top: 28px;
	padding: 20px 24px;
	background: #fafafa;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
}

.gc360-generic-advice h3 {
	margin-top: 0;
}

.gc360-generic-advice h4 {
	margin-bottom: 6px;
}

.gc360-generic-advice ul {
	margin: 0 0 16px;
	padding-left: 22px;
}

.gc360-generic-advice ul:last-child {
	margin-bottom: 0;
}

.gc360-upgrade-prompt {
	margin-top: 20px;
	padding: 24px;
	background: linear-gradient(135deg, #1d4ed8, #1742ad);
	color: #fff;
	border-radius: 8px;
	text-align: center;
}

.gc360-upgrade-prompt h3 {
	margin-top: 0;
	color: #fff;
}

.gc360-upgrade-prompt p {
	color: #e8edff;
}

.gc360-upgrade-button {
	display: inline-block;
	background: #fff;
	color: #1d4ed8;
	font-weight: 700;
	padding: 12px 32px;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	font-size: 1.05em;
	text-decoration: none;
	margin-top: 6px;
}

.gc360-upgrade-button:hover {
	background: #f0f3ff;
	color: #1742ad;
}

.gc360-upgrade-placeholder-note {
	color: #c7d2fe;
	font-size: 0.82em;
	font-style: italic;
	margin-top: 10px;
}

.gc360-disclaimer-text {
	font-size: 0.78em;
	color: #c7d2fe;
	margin-top: 18px;
	margin-bottom: 0;
}

.gc360-disclaimer-text-light {
	color: #999;
	margin-top: 14px;
}

.gc360-ai-advice {
	margin-top: 28px;
	padding: 20px 24px;
	background: #f7f9ff;
	border: 1px solid #d7e0ff;
	border-radius: 8px;
}

.gc360-ai-advice h3 {
	margin-top: 0;
}

.gc360-ai-advice-content p {
	margin: 0 0 12px;
}

.gc360-ai-advice-content p:last-child {
	margin-bottom: 0;
}

.gc360-ai-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #555;
	font-style: italic;
}

.gc360-ai-unavailable {
	color: #777;
	font-style: italic;
	margin: 0;
}

.gc360-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid #c7d2fe;
	border-top-color: #1d4ed8;
	border-radius: 50%;
	animation: gc360-spin 0.8s linear infinite;
}

@keyframes gc360-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ============================================================

/* ============================================================
   Assessment Landing Page (Phase 12 redesign)
   ============================================================ */

.gc360-landing-wrap {
	max-width: 1200px;
	margin: 0 auto;
}

/* Subscription banner */
.gc360-subscription-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	background: linear-gradient(135deg, #1d4ed8 0%, #1742ad 100%);
	color: #fff;
	border-radius: 16px;
	padding: 36px 40px;
	margin-bottom: 36px;
}

@media (max-width: 768px) {
	.gc360-subscription-banner {
		grid-template-columns: 1fr;
		padding: 28px 20px;
		gap: 24px;
	}
}

.gc360-sub-banner-badge {
	display: inline-block;
	background: rgba(255,255,255,0.2);
	color: #fff;
	font-size: 0.78em;
	font-weight: 700;
	padding: 4px 14px;
	border-radius: 20px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.gc360-sub-banner-left h2 {
	color: #fff;
	font-size: 1.5em;
	margin: 6px 0 12px;
}

.gc360-sub-banner-left p {
	color: #c7d2fe;
	margin-bottom: 16px;
}

.gc360-sub-benefits {
	list-style: none;
	padding: 0;
	margin: 0;
	color: #e0e7ff;
	font-size: 0.9em;
}

.gc360-sub-benefits li::before {
	content: '✓ ';
	color: #93c5fd;
}

.gc360-sub-plans {
	display: flex;
	gap: 16px;
}

@media (max-width: 480px) {
	.gc360-sub-plans {
		flex-direction: column;
	}
}

.gc360-sub-plan {
	flex: 1;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 12px;
	padding: 20px;
}

.gc360-sub-plan-featured {
	background: rgba(255,255,255,0.2);
	border-color: rgba(255,255,255,0.5);
	position: relative;
}

.gc360-sub-plan-save {
	position: absolute;
	top: -12px;
	right: 12px;
	background: #fbbf24;
	color: #1e3a5f;
	font-size: 0.72em;
	font-weight: 800;
	padding: 3px 12px;
	border-radius: 20px;
	text-transform: uppercase;
}

.gc360-sub-plan-label {
	color: #c7d2fe;
	font-size: 0.8em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 6px;
}

.gc360-sub-plan-price {
	font-size: 1.8em;
	font-weight: 800;
	color: #fff;
	margin-bottom: 14px;
}

.gc360-sub-plan-price span {
	font-size: 0.5em;
	font-weight: 400;
	color: #c7d2fe;
}

.gc360-sub-email {
	width: 100%;
	box-sizing: border-box;
	padding: 9px 12px;
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 6px;
	background: rgba(255,255,255,0.15);
	color: #fff;
	font-size: 0.88em;
	margin-bottom: 8px;
}

.gc360-sub-email::placeholder {
	color: #c7d2fe;
}

.gc360-sub-plan form .gc360-btn-outline {
	background: rgba(255,255,255,0.15);
	border: 2px solid rgba(255,255,255,0.7);
	color: #fff;
}

.gc360-sub-plan form .gc360-btn-outline:hover {
	background: rgba(255,255,255,0.25);
	opacity: 1;
}

.gc360-sub-plan form .gc360-btn-primary {
	background: #fff;
	color: #1d4ed8;
}

.gc360-sub-plan form .gc360-btn-primary:hover {
	background: #f0f4ff;
	opacity: 1;
}

.gc360-sub-note {
	color: #c7d2fe;
	font-size: 0.82em;
	margin-top: 12px;
	text-align: center;
}

/* Featured row */
.gc360-featured-section {
	margin-bottom: 32px;
}

.gc360-section-label {
	font-size: 1em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
	margin-bottom: 16px;
}

.gc360-featured-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
}

/* Search + filter row */
.gc360-catalogue-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.gc360-search-bar-wrap {
	position: relative;
	flex: 1;
	max-width: 420px;
}

.gc360-search-icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1em;
	pointer-events: none;
}

.gc360-search-bar {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px 10px 38px;
	border: 1px solid #ddd;
	border-radius: 30px;
	font-size: 0.95em;
	background: #fafafa;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.gc360-search-bar:focus {
	outline: none;
	border-color: #1d4ed8;
	box-shadow: 0 0 0 3px rgba(29,78,216,0.12);
	background: #fff;
}

.gc360-result-count {
	font-size: 0.85em;
	color: #999;
	white-space: nowrap;
}

/* Category tabs */
.gc360-tab-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.gc360-tab {
	background: transparent;
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	padding: 7px 18px;
	font-size: 0.88em;
	font-weight: 600;
	color: #666;
	cursor: pointer;
	transition: all 0.15s;
}

.gc360-tab:hover {
	border-color: #1d4ed8;
	color: #1d4ed8;
}

.gc360-tab-active {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #fff;
}

/* Card grid */
.gc360-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

@media (max-width: 480px) {
	.gc360-cards-grid {
		grid-template-columns: 1fr;
	}
}

/* Individual card */
.gc360-card {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.05);
	transition: box-shadow 0.15s, border-color 0.15s;
}

.gc360-card:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.10);
	border-color: #c7d2fe;
}

.gc360-card-featured {
	border-color: #1d4ed8;
	box-shadow: 0 2px 12px rgba(29,78,216,0.12);
}

.gc360-card-top {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.gc360-card-category {
	font-size: 0.72em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #1d4ed8;
	background: #e8edff;
	padding: 3px 10px;
	border-radius: 20px;
}

.gc360-card-featured-badge {
	font-size: 0.72em;
	font-weight: 700;
	color: #92400e;
	background: #fef3c7;
	padding: 3px 10px;
	border-radius: 20px;
}

.gc360-mode-badge {
	font-size: 0.72em;
	font-weight: 700;
	color: #92400e;
	background: #fef3c7;
	padding: 3px 10px;
	border-radius: 20px;
}

.gc360-card-title {
	font-size: 1.1em;
	font-weight: 700;
	margin: 0;
	color: #1a1a2e;
	line-height: 1.3;
}

.gc360-card-description {
	font-size: 0.88em;
	color: #666;
	line-height: 1.55;
	margin: 0;
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gc360-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 0.8em;
	color: #888;
}

.gc360-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-start;
	margin-top: auto;
}

.gc360-card-tier-row {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	border-top: 1px solid #f0f0f0;
	padding-top: 12px;
}

.gc360-tier-tag {
	font-size: 0.75em;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 10px;
}

.gc360-tier-free-tag {
	background: #f0fdf4;
	color: #166534;
}

.gc360-tier-premium-tag {
	background: #eff6ff;
	color: #1e40af;
}

/* Buy premium inline form */
.gc360-buy-details {
	position: relative;
}

.gc360-buy-details summary {
	list-style: none;
}

.gc360-buy-details summary::-webkit-details-marker {
	display: none;
}

.gc360-buy-form-wrap {
	position: absolute;
	z-index: 100;
	background: #fff;
	border: 1px solid #c7d2fe;
	border-radius: 10px;
	padding: 16px;
	width: 240px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	margin-top: 8px;
	right: 0;
}

.gc360-buy-form-wrap p {
	font-size: 0.82em;
	color: #555;
	margin: 0 0 10px;
}

.gc360-buy-email {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 0.88em;
	margin-bottom: 8px;
}

.gc360-secure-note {
	font-size: 0.75em;
	color: #888;
	margin: 8px 0 0;
}

/* Buttons */
.gc360-btn {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 7px;
	font-size: 0.88em;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	border: none;
	transition: opacity 0.15s, box-shadow 0.15s;
	white-space: nowrap;
}

.gc360-btn:hover { opacity: 0.88; }

.gc360-btn-primary {
	background: #1d4ed8;
	color: #fff;
}

.gc360-btn-outline {
	background: transparent;
	color: #1d4ed8;
	border: 2px solid #1d4ed8;
}

.gc360-btn-sm {
	padding: 7px 14px;
	font-size: 0.82em;
}

.gc360-btn-full {
	display: block;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

/* Empty state */
.gc360-empty-state {
	text-align: center;
	padding: 48px 0;
	color: #888;
}

/* ============================================================
   Subscriber dashboard additions (Phase 12)
   ============================================================ */

.gc360-subscriber-badge {
	display: inline-block;
	background: #1d4ed8;
	color: #fff;
	font-size: 0.75em;
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 20px;
	margin-bottom: 8px;
}

.gc360-subscription-status-panel {
	background: #f0f4ff;
	border: 1px solid #c7d2fe;
	border-radius: 10px;
	padding: 20px 24px;
	margin-bottom: 24px;
}

.gc360-sub-status-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.gc360-sub-status-badge {
	font-weight: 700;
	color: #1d4ed8;
	font-size: 0.95em;
}

.gc360-sub-plan-tag {
	background: #1d4ed8;
	color: #fff;
	font-size: 0.75em;
	font-weight: 700;
	padding: 2px 10px;
	border-radius: 10px;
}

.gc360-sub-status-body ul {
	list-style: none;
	padding: 0;
	margin: 8px 0 0;
	font-size: 0.9em;
	color: #374151;
}

.gc360-sub-renewal {
	font-size: 0.85em;
	color: #666;
	margin-top: 12px;
}

.gc360-sub-status-perks strong {
	font-size: 0.9em;
	color: #374151;
}

/* ============================================================
   Subscriber card + welcome bar (Phase 12 fix)
   ============================================================ */

.gc360-card-subscriber {
	border-color: #1d4ed8;
	background: linear-gradient(180deg, #f0f4ff 0%, #fff 60px);
}

.gc360-card-sub-badge {
	font-size: 0.72em;
	font-weight: 700;
	color: #fff;
	background: #1d4ed8;
	padding: 3px 10px;
	border-radius: 20px;
}

.gc360-btn-subscriber {
	width: 100%;
	display: block;
	text-align: center;
	box-sizing: border-box;
	background: #1d4ed8;
	color: #fff;
	padding: 12px;
	font-size: 0.95em;
}

.gc360-subscriber-card-note {
	font-size: 0.78em;
	color: #1d4ed8;
	margin: 4px 0 0;
}

.gc360-subscriber-welcome {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: #f0f4ff;
	border: 1px solid #c7d2fe;
	border-radius: 10px;
	padding: 18px 24px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.gc360-subscriber-welcome-badge {
	display: inline-block;
	background: #1d4ed8;
	color: #fff;
	font-size: 0.75em;
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 20px;
	margin-bottom: 6px;
}

.gc360-subscriber-welcome-left p {
	margin: 0;
	color: #374151;
	font-size: 0.95em;
}

/* History table report links */
.gc360-history-report-links {
	white-space: nowrap;
}

.gc360-history-link {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 5px;
	font-size: 0.82em;
	font-weight: 600;
	text-decoration: none;
	margin-right: 4px;
}

.gc360-history-link-view {
	background: #e8edff;
	color: #1d4ed8;
}

.gc360-history-link-view:hover {
	background: #c7d2fe;
}

.gc360-history-link-download {
	background: #f0fdf4;
	color: #166534;
	border: 1px solid #bbf7d0;
}

.gc360-history-link-download:hover {
	background: #dcfce7;
}

.gc360-history-link-none {
	color: #ccc;
}

.gc360-history-tier-premium {
	color: #1d4ed8;
	font-weight: 700;
}

.gc360-history-tier-free {
	color: #888;
}

.gc360-history-table th,
.gc360-history-table td {
	vertical-align: middle;
}

/* Subscriber quick-login prompt */
.gc360-subscriber-login-prompt {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 20px;
	background: #f7f9ff;
	border: 1px solid #e0e7ff;
	border-radius: 8px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.gc360-subscriber-login-prompt p {
	margin: 0;
	font-size: 0.9em;
	color: #555;
	white-space: nowrap;
}

.gc360-subscriber-login-form {
	display: flex;
	gap: 8px;
	flex: 1;
	min-width: 280px;
}

.gc360-sub-login-email {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 0.88em;
}
