/* Tax Invoice Checker — scoped, responsive application surface. */
.gstau-invoice {
	--invoice-navy: #0b2942;
	--invoice-green: #087f5b;
	--invoice-green-dark: #056449;
	--invoice-green-soft: #e9f8f2;
	--invoice-red: #b13a2c;
	--invoice-red-soft: #fff1ef;
	--invoice-amber: #9a6d0a;
	--invoice-amber-soft: #fff8e5;
	--invoice-blue-soft: #edf5fb;
	--invoice-text: var(--wikipress-text, #202122);
	--invoice-muted: #5c6f7d;
	--invoice-border: #dbe4ea;
	--invoice-bg: #fff;
	--invoice-off: #f7fafc;
	background: var(--invoice-bg);
	border: 1px solid var(--invoice-border);
	border-radius: 16px;
	box-shadow: 0 15px 45px rgba(11, 41, 66, .08);
	color: var(--invoice-text);
	font-family: var(--wikipress-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	margin-inline: auto;
	max-width: 980px;
	overflow: hidden;
}

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

.gstau-invoice h2,
.gstau-invoice h3,
.gstau-invoice p { border: 0; margin-top: 0; padding: 0; }
.gstau-invoice__form { margin: 0; }

.gstau-invoice__intro,
.gstau-invoice__check-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 24px 27px 15px;
}

.gstau-invoice__step {
	color: var(--invoice-green);
	display: block;
	font-size: .67rem;
	font-weight: 800;
	letter-spacing: .09em;
	margin-bottom: 3px;
	text-transform: uppercase;
}

.gstau-invoice h2 {
	color: var(--invoice-navy);
	font-family: inherit;
	font-size: 1.24rem;
	letter-spacing: -.018em;
	line-height: 1.25;
	margin: 0 0 4px;
}

.gstau-invoice__intro p,
.gstau-invoice__check-head p {
	color: var(--invoice-muted);
	font-size: .79rem;
	margin: 0;
}

.gstau-invoice__security {
	align-items: center;
	color: #557080;
	display: flex;
	font-size: .69rem;
	font-weight: 700;
	gap: 7px;
}

.gstau-invoice__security span {
	border: 2px solid var(--invoice-green);
	border-radius: 50%;
	height: 11px;
	position: relative;
	width: 11px;
}

.gstau-invoice__security span::after {
	background: var(--invoice-green);
	border-radius: 2px;
	content: "";
	height: 5px;
	left: 2px;
	position: absolute;
	top: -7px;
	width: 3px;
}

.gstau-invoice__context {
	display: grid;
	gap: 14px;
	grid-template-columns: 1.04fr 1fr 1fr;
	padding: 0 27px 23px;
}

.gstau-invoice__amount-field > label,
.gstau-invoice__choice legend {
	color: #304b5d;
	display: block;
	font-size: .72rem;
	font-weight: 750;
	margin-bottom: 6px;
}

.gstau-invoice__amount-wrap {
	align-items: center;
	background: #fff;
	border: 2px solid #b9c8d2;
	border-radius: 9px;
	display: flex;
	height: 68px;
	transition: border-color .15s, box-shadow .15s;
}

.gstau-invoice__amount-wrap:focus-within {
	border-color: var(--invoice-green);
	box-shadow: 0 0 0 3px rgba(8,127,91,.12);
}

.gstau-invoice__amount-wrap > span {
	color: #647887;
	font-size: 1.35rem;
	font-weight: 700;
	padding-left: 14px;
}

.gstau-invoice__amount-wrap input {
	background: transparent;
	border: 0;
	color: var(--invoice-navy);
	flex: 1;
	font: 750 1.5rem/1 inherit;
	min-width: 70px;
	outline: 0;
	padding: 0 8px;
	width: 100%;
}

.gstau-invoice__amount-wrap small {
	color: #7e8f9b;
	font-size: .63rem;
	font-weight: 800;
	letter-spacing: .06em;
	padding-right: 12px;
}

.gstau-invoice__choice {
	border: 0;
	display: grid;
	gap: 5px;
	grid-template-columns: 1fr 1fr;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.gstau-invoice__choice legend { grid-column: 1 / -1; }
.gstau-invoice__choice label { cursor: pointer; position: relative; }

.gstau-invoice__choice input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gstau-invoice__choice label > span {
	background: var(--invoice-off);
	border: 1px solid var(--invoice-border);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	height: 68px;
	justify-content: center;
	padding: 8px 9px;
	transition: border-color .15s, background .15s;
}

.gstau-invoice__choice strong,
.gstau-invoice__choice small { display: block; }
.gstau-invoice__choice strong { color: #344f61; font-size: .7rem; line-height: 1.2; }
.gstau-invoice__choice small { color: #768895; font-size: .57rem; line-height: 1.25; margin-top: 3px; }

.gstau-invoice__choice input:checked + span {
	background: var(--invoice-green-soft);
	border-color: var(--invoice-green);
	box-shadow: inset 0 0 0 1px var(--invoice-green);
}
.gstau-invoice__choice input:checked + span strong { color: var(--invoice-green-dark); }
.gstau-invoice__choice input:focus-visible + span { outline: 3px solid rgba(8,127,91,.2); outline-offset: 2px; }

.gstau-invoice__tier {
	align-items: center;
	background: var(--invoice-blue-soft);
	border-block: 1px solid #d7e5ef;
	display: grid;
	gap: 25px;
	grid-template-columns: 220px 1fr;
	padding: 14px 27px;
}

.gstau-invoice__tier--low { background: var(--invoice-amber-soft); border-color: #efdca5; }
.gstau-invoice__tier--high { background: #f0f5ff; border-color: #d7e2f2; }
.gstau-invoice__tier div > span,
.gstau-invoice__tier div > strong { display: block; }
.gstau-invoice__tier div > span { color: #6d8190; font-size: .59rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.gstau-invoice__tier div > strong { color: var(--invoice-navy); font-size: .8rem; margin-top: 2px; }
.gstau-invoice__tier p { color: #496274; font-size: .73rem; line-height: 1.45; margin: 0; }

.gstau-invoice__check-head { padding-bottom: 12px; padding-top: 22px; }
.gstau-invoice__bulk { display: flex; gap: 6px; }

.gstau-invoice__bulk button,
.gstau-invoice__copy {
	background: #fff;
	border: 1px solid #cbd7df;
	border-radius: 7px;
	color: #3f5c70;
	cursor: pointer;
	font-family: inherit;
	font-size: .67rem;
	font-weight: 750;
	padding: 7px 10px;
}
.gstau-invoice__bulk button:hover,
.gstau-invoice__copy:hover { border-color: var(--invoice-green); color: var(--invoice-green-dark); }

.gstau-invoice__workspace {
	align-items: start;
	display: grid;
	gap: 17px;
	grid-template-columns: minmax(0, 1.38fr) minmax(270px, .62fr);
	padding: 0 27px 24px;
}

.gstau-invoice__fields {
	border: 1px solid var(--invoice-border);
	border-radius: 10px;
	overflow: hidden;
}

.gstau-invoice__field {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #e6edf1;
	cursor: pointer;
	display: grid;
	gap: 11px;
	grid-template-columns: 21px minmax(0, 1fr) auto;
	min-height: 62px;
	padding: 10px 12px;
	transition: background .12s;
}
.gstau-invoice__field:last-child { border-bottom: 0; }
.gstau-invoice__field:hover { background: #fafcfd; }
.gstau-invoice__field.is-missing { box-shadow: inset 3px 0 #d86a5d; }
.gstau-invoice__field.is-present { background: #f7fcfa; box-shadow: inset 3px 0 var(--invoice-green); }
.gstau-invoice__field input { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }

.gstau-invoice__box {
	background: #fff;
	border: 2px solid #a9bac6;
	border-radius: 5px;
	height: 20px;
	position: relative;
	width: 20px;
}
.gstau-invoice__field input:checked + .gstau-invoice__box { background: var(--invoice-green); border-color: var(--invoice-green); }
.gstau-invoice__field input:checked + .gstau-invoice__box::after { border: solid #fff; border-width: 0 2px 2px 0; content: ""; height: 8px; left: 6px; position: absolute; top: 3px; transform: rotate(45deg); width: 4px; }
.gstau-invoice__field input:focus-visible + .gstau-invoice__box { outline: 3px solid rgba(8,127,91,.2); outline-offset: 2px; }

.gstau-invoice__field-copy strong,
.gstau-invoice__field-copy small { display: block; }
.gstau-invoice__field-copy strong { color: #294658; font-size: .75rem; line-height: 1.3; }
.gstau-invoice__field-copy small { color: #708491; font-size: .62rem; line-height: 1.35; margin-top: 2px; }
.gstau-invoice__flag { border-radius: 999px; font-size: .57rem; font-weight: 800; letter-spacing: .03em; padding: 4px 7px; text-transform: uppercase; }
.gstau-invoice__field.is-missing .gstau-invoice__flag { background: var(--invoice-red-soft); color: var(--invoice-red); }
.gstau-invoice__field.is-present .gstau-invoice__flag { background: var(--invoice-green-soft); color: var(--invoice-green-dark); }

.gstau-invoice__result {
	background: var(--invoice-red-soft);
	border: 1px solid #efc5bf;
	border-radius: 11px;
	padding: 18px;
	position: sticky;
	top: 18px;
}
.gstau-invoice__result--valid { background: var(--invoice-green-soft); border-color: #b8e3d1; }

.gstau-invoice__score {
	align-items: center;
	background: conic-gradient(var(--invoice-red) var(--invoice-progress), #eadbd9 0);
	border-radius: 50%;
	display: flex;
	height: 70px;
	justify-content: center;
	margin-bottom: 13px;
	position: relative;
	width: 70px;
}
.gstau-invoice__result--valid .gstau-invoice__score { background: conic-gradient(var(--invoice-green) var(--invoice-progress), #cee8dd 0); }
.gstau-invoice__score::before { background: #fff; border-radius: 50%; content: ""; inset: 7px; position: absolute; }
.gstau-invoice__score > span { color: var(--invoice-navy); font-size: .76rem; position: relative; }
.gstau-invoice__score strong { font-size: 1.13rem; }
.gstau-invoice__result-label { color: #8d675f; font-size: .59rem; font-weight: 800; letter-spacing: .08em; margin-bottom: 4px; text-transform: uppercase; }
.gstau-invoice__result--valid .gstau-invoice__result-label { color: var(--invoice-green-dark); }
.gstau-invoice__result h3 { color: #82291e; font-size: 1.05rem; letter-spacing: -.015em; line-height: 1.25; margin: 0 0 6px; }
.gstau-invoice__result--valid h3 { color: var(--invoice-green-dark); }
.gstau-invoice__result > p:not(.gstau-invoice__result-label) { color: #6d4c46; font-size: .7rem; line-height: 1.45; margin-bottom: 11px; }
.gstau-invoice__result--valid > p:not(.gstau-invoice__result-label) { color: #3d6758; }
.gstau-invoice__result ul { color: #71382f; font-size: .66rem; line-height: 1.35; margin: 0 0 13px; padding-left: 17px; }
.gstau-invoice__result li { margin: 3px 0; }
.gstau-invoice__low-note { background: #fff9e8; border: 1px solid #e8d38f; border-radius: 6px; color: #6f580e; font-size: .63rem; line-height: 1.4; margin-bottom: 11px; padding: 8px; }
.gstau-invoice__low-note[hidden], .gstau-invoice__copy[hidden] { display: none; }
.gstau-invoice__copy { background: rgba(255,255,255,.7); width: 100%; }

.gstau-invoice__submit { background: var(--invoice-green); border: 0; border-radius: 9px; color: #fff; cursor: pointer; display: block; font: 750 .85rem/1 inherit; margin: 0 27px 18px; padding: 12px; width: calc(100% - 54px); }
.gstau-invoice--js .gstau-invoice__submit { display: none; }
.gstau-invoice__note { background: #f4f7f9; border-top: 1px solid var(--invoice-border); color: #687c89; font-size: .67rem; line-height: 1.5; margin: 0; padding: 13px 27px 15px; }

@media (max-width: 780px) {
	.gstau-invoice__context { grid-template-columns: 1fr; }
	.gstau-invoice__choice label > span { height: 58px; }
	.gstau-invoice__tier { grid-template-columns: 1fr; gap: 5px; }
	.gstau-invoice__workspace { grid-template-columns: 1fr; }
	.gstau-invoice__result { grid-row: 1; position: static; }
}

@media (max-width: 520px) {
	.gstau-invoice { border-radius: 11px; }
	.gstau-invoice__intro,
	.gstau-invoice__check-head { align-items: flex-start; flex-direction: column; gap: 10px; padding-inline: 15px; }
	.gstau-invoice__context,
	.gstau-invoice__workspace { padding-inline: 15px; }
	.gstau-invoice__tier { padding-inline: 15px; }
	.gstau-invoice__field { grid-template-columns: 21px minmax(0, 1fr); }
	.gstau-invoice__flag { grid-column: 2; justify-self: start; }
	.gstau-invoice__note { padding-inline: 15px; }
}

@media (prefers-reduced-motion: reduce) {
	.gstau-invoice * { transition: none !important; }
}

