/**
 * Westphal Solutions. Invoice generator (self-contained)
 *
 * Owns everything under the `wsinvoice` prefix. Reads only the theme's brand
 * variables from main.css; shares no classes, files, or hooks with any other
 * tool. Safe to edit or delete on its own.
 */

.wsinvoice {
	/* Desk sits behind paper. Paper never flips dark. Print fidelity wins. */
	--wsinvoice-desk: #F2F2F4;
	--wsinvoice-paper: #FFFFFF;
	--wsinvoice-ink: var(--ws-charcoal);
	--wsinvoice-soft: #52585B;
	--wsinvoice-rule: #E5E5EA;
	/* Field affordance. Faint until touched, so paper reads as paper. */
	--wsinvoice-field: rgba(73, 109, 137, 0.07);
	--wsinvoice-field-on: rgba(73, 109, 137, 0.12);

	padding: 30px 24px 40px;
	border-radius: var(--ws-radius);
	background: var(--wsinvoice-desk);
	font-family: var(--ws-font);
	color: var(--ws-text);
}
[data-theme="dark"] .wsinvoice { --wsinvoice-desk: var(--ws-charcoal); }

.wsinvoice *,
.wsinvoice *::before,
.wsinvoice *::after { box-sizing: border-box; }

.wsinvoice__shell { max-width: 820px; margin: 0 auto; }

/* === Toolbar. Preset, print, options. Nothing else. === */
.wsinvoice__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	max-width: 820px;
	margin: 0 auto 18px;
}
.wsinvoice__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ws-muted);
}
.wsinvoice__controls { display: flex; align-items: center; gap: 10px; }

/* Segmented preset. Lime marks active. */
.wsinvoice__segs {
	display: flex;
	align-items: center;
	padding: 4px;
	border: 1px solid var(--ws-border);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-surface);
}
.wsinvoice__seg {
	padding: 8px 18px;
	border: 0;
	border-radius: var(--ws-radius-pill);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--ws-muted);
	cursor: pointer;
	transition: background-color 0.15s var(--ws-ease), color 0.15s var(--ws-ease);
}
.wsinvoice__seg.is-active { background: var(--ws-accent); color: var(--ws-charcoal); }
.wsinvoice__seg:focus-visible { outline: 2px solid var(--ws-slate); outline-offset: 2px; }

/* Print. Charcoal, not lime. Lime is busy on the segment beside it. */
.wsinvoice__print {
	padding: 12px 22px;
	border: 1px solid var(--ws-charcoal);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-charcoal);
	font-family: var(--ws-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--ws-white);
	cursor: pointer;
	transition: transform 0.12s var(--ws-ease);
}
[data-theme="dark"] .wsinvoice__print {
	background: var(--ws-white);
	border-color: var(--ws-white);
	color: var(--ws-charcoal);
}
.wsinvoice__print:active { transform: translateY(1px); }
.wsinvoice__print:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 2px; }

/* Options trigger. Lime ring. */
.wsinvoice__opts { position: relative; }
.wsinvoice__opts-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid var(--ws-accent);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-surface);
	color: var(--ws-text);
	cursor: pointer;
	transition: background-color 0.15s var(--ws-ease);
}
.wsinvoice__opts-btn:hover { background: rgba(195, 221, 34, 0.18); }
.wsinvoice__opts-btn:focus-visible { outline: 2px solid var(--ws-slate); outline-offset: 2px; }
.wsinvoice__dots { display: flex; gap: 4px; }
.wsinvoice__dots i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }

/* === Menu panel === */
.wsinvoice__menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 40;
	width: 288px;
	padding: 6px 0;
	border: 1px solid var(--ws-border);
	border-radius: var(--ws-radius);
	background: var(--ws-surface);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06), 0 18px 44px rgba(0, 0, 0, 0.14);
}
[data-theme="dark"] .wsinvoice__menu {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5), 0 18px 44px rgba(0, 0, 0, 0.6);
}
.wsinvoice__menu[hidden] { display: none; }

.wsinvoice__menu-group { padding: 6px 0; }
.wsinvoice__menu-group + .wsinvoice__menu-group { border-top: 1px solid var(--ws-border); }

.wsinvoice__menu-field { padding: 8px 16px 10px; }
.wsinvoice__menu-label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 7px;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--ws-muted);
}
.wsinvoice__menu-label svg { flex: 0 0 auto; color: var(--ws-slate); }
.wsinvoice__menu-label label { cursor: pointer; }

.wsinvoice__menu-select {
	width: 100%;
	padding: 9px 10px;
	border: 1px solid var(--ws-border);
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--ws-text);
	cursor: pointer;
}
.wsinvoice__menu-select:hover { border-color: var(--ws-accent); }
.wsinvoice__menu-select:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 1px; }

.wsinvoice__menu-item {
	display: flex;
	align-items: center;
	gap: 11px;
	width: 100%;
	padding: 11px 16px;
	border: 0;
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.9rem;
	text-align: left;
	color: var(--ws-text);
	cursor: pointer;
	transition: background-color 0.12s var(--ws-ease);
}
.wsinvoice__menu-item svg { flex: 0 0 auto; color: var(--ws-slate); }
.wsinvoice__menu-item:hover { background: var(--wsinvoice-field); }
.wsinvoice__menu-item:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: -2px; }
.wsinvoice__menu-item.is-saved { color: var(--ws-slate); font-weight: 700; }
.wsinvoice__menu-item--danger:hover,
.wsinvoice__menu-item--danger:hover svg { color: var(--ws-error); }

.wsinvoice__menu-note {
	margin: 0;
	padding: 4px 16px 10px;
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--ws-muted);
}

/* === Paper. Stays light in dark mode. === */
.wsinvoice__paper {
	max-width: 820px;
	margin: 0 auto;
	padding: 60px 64px 52px;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 10px;
	background: var(--wsinvoice-paper);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 14px 40px rgba(0, 0, 0, 0.10);
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--wsinvoice-ink);
	font-variant-numeric: tabular-nums;
}
[data-theme="dark"] .wsinvoice__paper {
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4), 0 18px 50px rgba(0, 0, 0, 0.55);
}

/* === Fields. Invisible until touched. === */
.wsinvoice__f {
	width: 100%;
	padding: 3px 5px;
	border: 0;
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	transition: background-color 0.12s var(--ws-ease);
}
.wsinvoice__f:hover { background: var(--wsinvoice-field); }
.wsinvoice__f:focus {
	background: var(--wsinvoice-field-on);
	outline: 2px solid var(--ws-slate);
	outline-offset: 0;
}
.wsinvoice__f::placeholder { color: var(--ws-grey); opacity: 1; }
textarea.wsinvoice__f { display: block; resize: none; overflow: hidden; }
.wsinvoice__f--bleed { margin-left: -5px; }

/* === Head === */
.wsinvoice__head { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: start; }
.wsinvoice__brand { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

.wsinvoice__logo { position: relative; width: max-content; }
.wsinvoice__logo-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 172px;
	height: 76px;
	border: 1px dashed var(--ws-grey);
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wsinvoice-soft);
	cursor: pointer;
	transition: border-color 0.15s var(--ws-ease), color 0.15s var(--ws-ease);
}
.wsinvoice__logo-btn:hover { border-color: var(--ws-slate); color: var(--ws-slate); }
.wsinvoice__logo-btn:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 2px; }
.wsinvoice__logo-img { display: block; max-width: 200px; max-height: 76px; object-fit: contain; }
.wsinvoice__logo-kill {
	position: absolute;
	top: -9px;
	right: -9px;
	width: 20px;
	height: 20px;
	border: 1px solid var(--wsinvoice-rule);
	border-radius: var(--ws-radius);
	background: var(--wsinvoice-paper);
	color: var(--wsinvoice-soft);
	font-size: 0.75rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.15s var(--ws-ease);
}
.wsinvoice__logo:hover .wsinvoice__logo-kill,
.wsinvoice__logo-kill:focus-visible { opacity: 1; }
.wsinvoice__logo-kill:hover { border-color: var(--ws-error); color: var(--ws-error); }

.wsinvoice__sender { display: flex; flex-direction: column; gap: 2px; max-width: 340px; }
.wsinvoice__bizname { font-size: 1.2rem; font-weight: 900; letter-spacing: -0.2px; color: #000; }
.wsinvoice__bizaddr { font-size: 0.84rem; line-height: 1.6; color: var(--wsinvoice-soft); }

.wsinvoice__meta { text-align: right; min-width: 270px; }
.wsinvoice__doctype {
	-webkit-appearance: none;
	appearance: none;
	margin: 0 -5px 18px 0;
	padding: 2px 5px;
	border: 0;
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #000;
	text-align: right;
	text-align-last: right;
	cursor: pointer;
	transition: background-color 0.12s var(--ws-ease);
}
.wsinvoice__doctype:hover { background: var(--wsinvoice-field); }
.wsinvoice__doctype:focus { background: var(--wsinvoice-field-on); outline: 2px solid var(--ws-slate); }

.wsinvoice__metagrid {
	display: grid;
	grid-template-columns: auto 132px;
	gap: 6px 14px;
	align-items: center;
	justify-content: end;
}
.wsinvoice__microlabel {
	font-family: var(--ws-font);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--ws-grey);
	text-align: right;
}
.wsinvoice__metagrid .wsinvoice__f { font-size: 0.84rem; text-align: right; color: var(--wsinvoice-ink); }
.wsinvoice__metagrid .wsinvoice__f--num { font-weight: 700; }

.wsinvoice__rule { border-top: 2px solid #000; margin: 34px 0 30px; }

/* === Parties === */
.wsinvoice__parties { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 38px; }
.wsinvoice__blocklabel {
	margin-bottom: 8px;
	font-family: var(--ws-font);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--ws-grey);
}
.wsinvoice__clientname { font-size: 0.94rem; font-weight: 700; color: #000; }
.wsinvoice__body { font-size: 0.84rem; line-height: 1.6; color: var(--wsinvoice-soft); }

/* === Line items === */
.wsinvoice__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.wsinvoice__table thead tr { border-bottom: 1px solid #000; }
.wsinvoice__table th {
	padding: 0 8px 8px;
	font-family: var(--ws-font);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--wsinvoice-soft);
	text-align: right;
}
.wsinvoice__table th:first-child { text-align: left; padding-left: 0; }
.wsinvoice__table th:last-child { padding-right: 0; }
.wsinvoice__col-qty { width: 64px; }
.wsinvoice__col-rate { width: 104px; }
.wsinvoice__col-amt { width: 116px; }

.wsinvoice__row { position: relative; border-bottom: 1px solid var(--wsinvoice-rule); }
.wsinvoice__row td { padding: 9px 8px; vertical-align: top; }
.wsinvoice__row td:first-child { padding-left: 0; }
.wsinvoice__row td:last-child { padding-right: 0; }
.wsinvoice__row .wsinvoice__f { font-size: 0.84rem; color: var(--wsinvoice-ink); }
.wsinvoice__row .wsinvoice__f--num { text-align: right; }

.wsinvoice__amt {
	display: block;
	padding-top: 3px;
	/* Numerals never change font. Column must stay aligned. */
	font-family: var(--ws-font);
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--wsinvoice-ink);
	text-align: right;
}

.wsinvoice__kill {
	position: absolute;
	top: 12px;
	right: -34px;
	width: 22px;
	height: 22px;
	border: 1px solid transparent;
	border-radius: var(--ws-radius);
	background: transparent;
	color: var(--ws-grey);
	font-size: 0.9rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.15s var(--ws-ease), color 0.15s var(--ws-ease), border-color 0.15s var(--ws-ease);
}
.wsinvoice__row:hover .wsinvoice__kill,
.wsinvoice__kill:focus-visible { opacity: 1; }
.wsinvoice__kill:hover { color: var(--ws-error); border-color: var(--wsinvoice-rule); }

.wsinvoice__addline {
	width: 100%;
	margin-top: 14px;
	padding: 11px 0;
	border: 1px dashed var(--ws-grey);
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--wsinvoice-soft);
	cursor: pointer;
	transition: border-color 0.15s var(--ws-ease), color 0.15s var(--ws-ease);
}
.wsinvoice__addline:hover { border-color: var(--ws-slate); color: var(--ws-slate); }
.wsinvoice__addline:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 2px; }

/* === Totals === */
.wsinvoice__foot {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 48px;
	margin-top: 42px;
	align-items: start;
}
.wsinvoice__notes { font-size: 0.82rem; line-height: 1.65; color: var(--wsinvoice-soft); }

.wsinvoice__trow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 7px 0;
	border-bottom: 1px solid var(--wsinvoice-rule);
}
.wsinvoice__trow:last-of-type { border-bottom: 0; }
.wsinvoice__tlabel {
	display: flex;
	align-items: center;
	gap: 4px;
	font-family: var(--ws-font);
	font-size: 0.78rem;
	color: var(--wsinvoice-soft);
}
.wsinvoice__tval { font-family: var(--ws-font); font-size: 0.84rem; font-weight: 700; }

.wsinvoice__pct {
	width: 52px;
	padding: 2px 4px;
	border: 0;
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.78rem;
	color: var(--wsinvoice-ink);
	text-align: right;
	transition: background-color 0.12s var(--ws-ease);
}
.wsinvoice__pct:hover { background: var(--wsinvoice-field); }
.wsinvoice__pct:focus { background: var(--wsinvoice-field-on); outline: 2px solid var(--ws-slate); }

.wsinvoice__paidin {
	width: 96px;
	padding: 3px 5px;
	border: 0;
	border-radius: var(--ws-radius);
	background: transparent;
	font-family: var(--ws-font);
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--wsinvoice-ink);
	text-align: right;
	transition: background-color 0.12s var(--ws-ease);
}
.wsinvoice__paidin:hover { background: var(--wsinvoice-field); }
.wsinvoice__paidin:focus { background: var(--wsinvoice-field-on); outline: 2px solid var(--ws-slate); }

.wsinvoice__due {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-top: 6px;
	padding-top: 12px;
	border-top: 2px solid #000;
}
.wsinvoice__due-label {
	font-family: var(--ws-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #000;
}
.wsinvoice__due-val {
	font-family: var(--ws-font);
	font-size: 1.9rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.5px;
	color: #000;
}

.wsinvoice__thanks {
	margin-top: 48px;
	padding-top: 22px;
	border-top: 1px solid var(--wsinvoice-rule);
	font-size: 0.75rem;
	letter-spacing: 0.2px;
	color: var(--ws-grey);
	text-align: center;
}

/* === Type presets ===
   Classic swaps prose to Lora. Every numeral stays Lato so the
   money column keeps its tabular alignment. */
[data-preset="classic"] .wsinvoice__doctype,
[data-preset="classic"] .wsinvoice__bizname,
[data-preset="classic"] .wsinvoice__clientname,
[data-preset="classic"] .wsinvoice__bizaddr,
[data-preset="classic"] .wsinvoice__body,
[data-preset="classic"] .wsinvoice__notes,
[data-preset="classic"] .wsinvoice__thanks,
[data-preset="classic"] .wsinvoice__f--desc { font-family: var(--ws-serif); }

[data-preset="classic"] .wsinvoice__doctype { font-size: 2.15rem; font-weight: 600; }
[data-preset="classic"] .wsinvoice__bizname { font-size: 1.3rem; font-weight: 600; letter-spacing: 0; }
[data-preset="classic"] .wsinvoice__clientname { font-size: 1rem; font-weight: 600; }
[data-preset="classic"] .wsinvoice__bizaddr,
[data-preset="classic"] .wsinvoice__body,
[data-preset="classic"] .wsinvoice__notes { line-height: 1.7; }

/* Numerals pinned. Never inherit the preset. */
[data-preset="classic"] .wsinvoice__f--num,
[data-preset="classic"] .wsinvoice__metagrid .wsinvoice__f { font-family: var(--ws-font); }

/* === Privacy. Chrome. === */
.wsinvoice__privacy { max-width: 620px; margin: 44px auto 0; color: var(--ws-muted); }
.wsinvoice__privacy-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ws-heading);
}
.wsinvoice__privacy-rule { width: 110px; height: 3px; margin: 8px 0 20px; background: var(--ws-accent); }
.wsinvoice__privacy p { margin: 0 0 16px; font-size: 1.05rem; line-height: 1.65; text-wrap: pretty; }
.wsinvoice__privacy p:last-child { margin-bottom: 0; }
.wsinvoice__privacy strong { color: var(--ws-heading); font-weight: 700; }

/* === Mobile === */
@media (max-width: 700px) {
	.wsinvoice { padding: 18px 12px 26px; }
	.wsinvoice__bar { gap: 12px; }
	.wsinvoice__eyebrow { width: 100%; }
	.wsinvoice__controls { width: 100%; justify-content: space-between; }
	.wsinvoice__seg { padding: 8px 13px; letter-spacing: 1px; }
	.wsinvoice__print { padding: 12px 16px; }
	.wsinvoice__menu { width: 268px; }

	.wsinvoice__paper { padding: 28px 22px 30px; border-radius: var(--ws-radius); }
	.wsinvoice__head { grid-template-columns: 1fr; gap: 24px; }
	.wsinvoice__meta { text-align: left; min-width: 0; }
	.wsinvoice__doctype {
		margin: 0 0 14px -5px;
		font-size: 1.9rem;
		text-align: left;
		text-align-last: left;
	}
	.wsinvoice__metagrid { grid-template-columns: 1fr 132px; justify-content: stretch; }
	.wsinvoice__microlabel { text-align: left; }
	.wsinvoice__parties { grid-template-columns: 1fr; gap: 26px; }
	.wsinvoice__foot { grid-template-columns: 1fr; gap: 30px; }
	.wsinvoice__col-qty { width: 48px; }
	.wsinvoice__col-rate { width: 78px; }
	.wsinvoice__col-amt { width: 88px; }
	/* No hover on touch. Remove control stays visible. */
	.wsinvoice__kill { position: static; opacity: 1; margin-top: 4px; }
	.wsinvoice__due-val { font-size: 1.6rem; }
}

/* === Print. Paper only, pulled out of the page. === */
@media print {
	@page { margin: 14mm; }

	/* Hide the whole page, reveal the paper. Tool sits inside theme chrome. */
	body * { visibility: hidden !important; }
	.wsinvoice__paper,
	.wsinvoice__paper * { visibility: visible !important; }

	.wsinvoice {
		padding: 0 !important;
		background: none !important;
	}
	.wsinvoice__bar,
	.wsinvoice__privacy,
	.wsinvoice__addline,
	.wsinvoice__kill,
	.wsinvoice__logo-btn,
	.wsinvoice__logo-kill { display: none !important; }

	.wsinvoice__paper {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	/* Fields flatten. Empty ones print blank, not grey hints. */
	.wsinvoice__paper input,
	.wsinvoice__paper textarea,
	.wsinvoice__paper select {
		-webkit-appearance: none;
		appearance: none;
		background: transparent !important;
		border: 0 !important;
		outline: 0 !important;
	}
	.wsinvoice__paper input::placeholder,
	.wsinvoice__paper textarea::placeholder { color: transparent !important; }

	.wsinvoice__row,
	.wsinvoice__totals,
	.wsinvoice__due { page-break-inside: avoid; }
	.wsinvoice__table thead { display: table-header-group; }
}


/* === Page copy. Renders below the tool, never prints. === */
.wsinvoice-doc {
	max-width: 740px;
	margin: 56px auto 0;
}
.wsinvoice-doc h2 { margin: 44px 0 14px; }
.wsinvoice-doc h3 { margin: 28px 0 8px; }
.wsinvoice-doc h2:first-child { margin-top: 0; }
.wsinvoice-doc p { margin: 0 0 16px; text-wrap: pretty; }
.wsinvoice-doc ul { margin: 0 0 20px; padding-left: 1.15em; }
.wsinvoice-doc li { margin-bottom: 8px; }
.wsinvoice-doc__cta {
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--ws-border);
}

@media print {
	.wsinvoice-doc { display: none !important; }
}