/* ============================================================
   TOPLINE VAULT — DESIGN TOKENS + SHARED COMPONENTS  (v1.1.0)

   One set of colours for the whole plugin (Build Bible, section 4).
   Everything is scoped to .lv-tv (front end) and
   .lv-topline-admin-wrapper (admin screens) — never :root —
   so nothing here can change the rest of the site.
   ============================================================ */

.lv-tv,
.lv-topline-admin-wrapper {
	/* Backgrounds */
	--lv-bg-dark: #0f0f1a;
	--lv-bg-primary: #0f0f1a;
	--lv-bg-darker: #0a0a12;
	--lv-bg-card: #1a1a2e;
	--lv-bg-secondary: #1a1a2e;
	--lv-bg-light: #1a1a2e;
	--lv-bg-tertiary: #2a2a4e;
	--lv-bg-hover: #252541;

	/* Brand purple */
	--lv-primary: #7c3aed;
	--lv-accent-primary: #7c3aed;
	--lv-accent-color: #7c3aed;
	--lv-primary-dark: #6d28d9;
	--lv-accent-hover: #6d28d9;
	--lv-primary-light: #a78bfa;

	/* Text */
	--lv-text-primary: #e8e8f0;
	--lv-text-heading: #ffffff;
	--lv-text-secondary: #b0b0c8;
	--lv-text-muted: #7070a0;

	/* Lines */
	--lv-border: #2a2a4e;
	--lv-border-color: #2a2a4e;
	--lv-border-strong: #3a3a5e;

	/* Status */
	--lv-success: #10b981;
	--lv-success-color: #10b981;
	--lv-warning: #910304;
	--lv-warning-color: #ff8a8f;
	--lv-danger: #ef4444;
	--lv-error-color: #ef4444;
	--lv-urgent: #ff6b6b;
	--lv-info-color: #7c3aed;

	/* Layout */
	--lv-max-width: 680px;
	--lv-radius: 12px;
	--lv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

/* ------------------------------------------------------------
   MESSAGE BOXES
   Design: "0 - Error and Success Messages" screenshot.
   Dark card, coloured left edge, bold title, purple links.
   ------------------------------------------------------------ */
.lv-tv .lv-message {
	background: var(--lv-bg-card);
	color: var(--lv-text-heading);
	border-left: 5px solid var(--lv-primary);
	border-radius: var(--lv-radius);
	padding: 22px 26px;
	margin: 0 0 20px;
	font-family: var(--lv-font);
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
}

.lv-tv .lv-message-title {
	font-weight: 600;
	font-size: 17px;
	margin: 0 0 6px;
	color: var(--lv-text-heading);
}

.lv-tv .lv-message-text {
	color: var(--lv-text-heading);
}

.lv-tv .lv-message-error   { border-left-color: var(--lv-danger); }
.lv-tv .lv-message-warning { border-left-color: var(--lv-warning); }
.lv-tv .lv-message-success,
.lv-tv .lv-message-info    { border-left-color: var(--lv-primary); }

.lv-tv .lv-message a {
	color: var(--lv-primary-light);
	font-weight: 600;
	text-decoration: none;
}

.lv-tv .lv-message a:hover,
.lv-tv .lv-message a:focus {
	text-decoration: underline;
}

@media (max-width: 480px) {
	.lv-tv .lv-message {
		padding: 18px 18px;
		font-size: 15px;
	}
}
