/**
 * JSN WooCommerce — My Lines tab styles.
 *
 * Uses theme CSS variables where available.
 * Designed to harmonize with jsn-theme design system.
 */

/* ─── Main Table ─── */

.jsn-lines-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.8125rem;
	line-height: 1.5;
}

.jsn-lines-table th {
	font-weight: 600;
	text-align: left;
	white-space: nowrap;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--neutral-600, #86868b);
	padding: 10px 10px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.jsn-lines-table td {
	vertical-align: middle;
	font-size: 0.8125rem;
	padding: 14px 10px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

/* ─── Type Badges ─── */

.jsn-line-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 980px;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.4;
}

.jsn-line-badge-subscription {
	background: rgba(20, 131, 135, 0.1);
	color: var(--wp--preset--color--teal-700, #148387);
}

.jsn-line-badge-prepaid {
	background: rgba(232, 97, 77, 0.1);
	color: var(--wp--preset--color--coral-500, #E8614D);
}

/* ─── Status Labels ─── */

.jsn-line-status {
	font-weight: 600;
	font-size: 0.8125rem;
}

.jsn-line-status-active {
	color: var(--wp--preset--color--teal-700, #148387);
}

.jsn-line-status-on-hold {
	color: #d97706;
}

.jsn-line-status-expired,
.jsn-line-status-cancelled {
	color: #dc2626;
}

/* ─── Phone Number ─── */

.jsn-line-phone {
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}

.jsn-line-pending {
	color: var(--wp--preset--color--neutral-600, #86868b);
	font-style: italic;
}

/* ─── Actions ─── */

.jsn-line-actions {
	white-space: nowrap;
}

/* Primary action — teal outline */
.jsn-line-actions .button,
.jsn-line-actions .woocommerce-button {
	display: inline-block;
	margin: 2px 4px 2px 0;
	font-size: 0.6875rem;
	padding: 5px 12px;
	border-radius: 980px;
	white-space: nowrap;
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	border: 1px solid var(--wp--preset--color--teal-700, #148387);
	background: transparent;
	color: var(--wp--preset--color--teal-700, #148387);
}

.jsn-line-actions .button:hover,
.jsn-line-actions .woocommerce-button:hover {
	background: var(--wp--preset--color--teal-700, #148387);
	color: #fff;
}

/* Featured action — coral filled (Manage, Extend) */
.jsn-line-actions a.woocommerce-button,
.jsn-line-actions .jsn-extend-btn {
	background: var(--wp--preset--color--coral-500, #E8614D);
	color: #fff;
	border-color: var(--wp--preset--color--coral-500, #E8614D);
}

.jsn-line-actions a.woocommerce-button:hover,
.jsn-line-actions .jsn-extend-btn:hover {
	background: var(--wp--preset--color--coral-600, #d4553f);
	border-color: var(--wp--preset--color--coral-600, #d4553f);
	color: #fff;
}

.jsn-line-actions .jsn-extend-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

/* SIM change buttons — smaller, secondary */
.jsn-line-actions .jsn-sim-change-validate,
.jsn-line-actions .jsn-sim-change-confirm,
.jsn-line-actions .jsn-sim-change-cancel {
	font-size: 0.625rem;
	padding: 4px 10px;
}

/* ─── eSIM Activation Row ─── */

.jsn-esim-activation-row td {
	padding: 16px 20px;
	background: var(--wp--preset--color--neutral-50, #f6f7f9);
}

/* ─── eSIM Activation (detail pages + inline) ─── */

.jsn-esim-activation {
	margin-top: 16px;
}

.jsn-esim-details {
	margin-top: 12px;
	padding: 16px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 14px;
	background: var(--wp--preset--color--neutral-50, #f6f7f9);
}

.jsn-esim-details canvas,
.jsn-esim-details img {
	max-width: 200px;
	height: auto;
}

.jsn-esim-details code {
	word-break: break-all;
	background: rgba(0, 0, 0, 0.04);
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 0.8125rem;
}

/* ─── Empty State ─── */

.jsn-lines-empty {
	text-align: center;
	padding: 40px 20px;
	color: var(--wp--preset--color--neutral-600, #86868b);
}

.jsn-lines-empty p {
	margin: 8px 0;
}

/* ─── Extend Service (detail pages) ─── */

.jsn-extend-service {
	margin-top: 16px;
}

.jsn-extend-service .description {
	margin-top: 8px;
	color: var(--wp--preset--color--neutral-600, #6e6e73);
	font-size: 0.8125rem;
}

/* ─── Line Details Table (detail pages) ─── */

.jsn-line-details th {
	width: 35%;
	font-weight: 600;
	color: #1d1d1f;
}

/* ─── Responsive: stack table on narrow screens ─── */

@media screen and (max-width: 768px) {
	.jsn-lines-table thead {
		display: none;
	}

	.jsn-lines-table tbody {
		display: block;
	}

	.jsn-lines-table tr {
		display: block;
		margin-bottom: 12px;
		background: var(--wp--preset--color--neutral-50, #f6f7f9);
		border-radius: 14px;
		padding: 16px;
		border: none;
	}

	.jsn-lines-table td {
		display: block;
		text-align: left;
		padding: 3px 0;
		border: none;
		font-size: 0.875rem;
	}

	.jsn-lines-table td::before {
		content: attr(data-title) ": ";
		font-weight: 600;
		color: #1d1d1f;
	}

	.jsn-lines-table td.jsn-lines-col-actions::before {
		content: "";
	}

	.jsn-lines-table .jsn-line-actions {
		white-space: normal;
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid rgba(0, 0, 0, 0.06);
	}

	.jsn-esim-activation-row {
		border: none !important;
		margin-top: -12px;
	}

	.jsn-esim-activation-row td::before {
		content: "";
	}
}
