/**
 * Buyer cabinet ([abds_ls_account]) — built entirely on abds-design.css's
 * shared tokens and primitives (.card, .field, .btn, .badge). No local
 * color, spacing, or radius literals below except where a value has no
 * token yet (documented inline).
 */

.abds-ls-page {
	min-height: calc(100vh - 64px);
	background: var(--surface-sunken);
	padding: var(--space-12) var(--space-4) var(--space-20);
}

.abds-ls-account {
	max-width: 480px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
}

.abds-ls-account.abds-ls-account--wide {
	max-width: 720px;
}

/* ------------------------------------------------------------------ Card */
.abds-ls-card {
	padding: var(--space-8);
}
.abds-ls-card h2 {
	margin: 0 0 var(--space-2);
	font-weight: 700;
}
.abds-ls-card h3 {
	font-size: var(--text-lg-size);
	letter-spacing: var(--text-lg-tracking);
	font-weight: 700;
	margin: var(--space-8) 0 var(--space-3);
}
.abds-ls-card h3:first-child { margin-top: 0; }

/* ------------------------------------------------------------- Login form */
.abds-ls-login .field { margin-bottom: var(--space-5); }
.abds-ls-login .field:last-of-type { margin-bottom: var(--space-6); }

.abds-ls-key-input {
	font-family: var(--font-mono) !important;
	letter-spacing: 0.06em;
}

.abds-ls-submit {
	width: 100%;
	position: relative;
}
.abds-ls-submit .abds-ls-spinner { display: none; }
.abds-ls-submit[data-loading="1"] {
	pointer-events: none;
}
.abds-ls-submit[data-loading="1"] .abds-ls-spinner { display: inline-flex; }
.abds-ls-submit[data-loading="1"] .abds-ls-label { opacity: 0.55; }

.abds-ls-spinner {
	width: 16px;
	height: 16px;
	border-radius: var(--radius-full);
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-top-color: #fff;
	animation: abds-ls-spin 0.7s linear infinite;
}
@keyframes abds-ls-spin { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------- Alerts */
.abds-ls-alert[hidden] { display: none; }
.abds-ls-alert {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: var(--text-sm-size);
	line-height: var(--text-sm-leading);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-sm);
	margin-top: var(--space-4);
}
.abds-ls-alert--danger { background: var(--danger-bg); color: var(--danger-text); }
.abds-ls-alert--warning { background: var(--warning-bg); color: var(--warning-text); }
.abds-ls-alert--success { background: var(--success-bg); color: var(--success-text); }

.abds-ls-hint {
	font-size: var(--text-xs-size);
	color: var(--text-tertiary);
	margin: var(--space-2) 0 0;
}

/* ---------------------------------------------------------------- Status */
.abds-ls-status-row { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin: var(--space-2) 0 var(--space-6); }
.abds-ls-sites-count { color: var(--text-secondary); font-size: var(--text-sm-size); }

/* ----------------------------------------------------------------- Lists */
.abds-ls-sites, .abds-ls-orders { list-style: none; margin: 0; padding: 0; }
.abds-ls-sites li {
	display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--border);
	font-size: var(--text-sm-size);
}
.abds-ls-sites li:last-child { border-bottom: none; }

.abds-ls-orders { width: 100%; border-collapse: collapse; font-size: var(--text-sm-size); }
.abds-ls-orders th, .abds-ls-orders td { text-align: left; padding: var(--space-2) var(--space-2); border-bottom: 1px solid var(--border); }
.abds-ls-orders th { color: var(--text-tertiary); font-weight: 600; font-size: var(--text-xs-size); text-transform: uppercase; letter-spacing: 0.04em; }
.abds-ls-orders tr:last-child td { border-bottom: none; }

.abds-ls-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }

.abds-ls-empty { color: var(--text-tertiary); font-size: var(--text-sm-size); }

@media (max-width: 640px) {
	.abds-ls-orders th:nth-child(1), .abds-ls-orders td:nth-child(1) { display: none; }
}
