.rrr-invoice-shell { margin: 0; background: #f5f8f6; color: #16372b; }
.rrr-invoice-shell__main { min-height: 100dvh; width: 100%; }
.rrr-invoice__preview { display: inline-block; margin: 8px 0 0 !important; padding: 5px 10px; border: 1px solid #c9ae60; color: #fff; font: 700 .78rem/1.3 Arial, sans-serif; }
.rrr-invoice__button:disabled { cursor: not-allowed; opacity: .65; }
.rrr-invoice [hidden] { display: none !important; }
.rrr-invoice {
	--rrr-invoice-green: #123c2c;
	--rrr-invoice-deep: #0b281f;
	--rrr-invoice-gold: #c9ae60;
	--rrr-invoice-border: #b9d0c4;
	--rrr-invoice-text: #16372b;
	width: min(100%, 1480px);
	margin: 0 auto;
	padding: clamp(12px, 1.7vw, 24px);
	color: var(--rrr-invoice-text);
	box-sizing: border-box;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

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

.rrr-invoice__hero {
	background: linear-gradient(115deg, var(--rrr-invoice-deep), var(--rrr-invoice-green));
	color: #fff;
	border-top: 4px solid var(--rrr-invoice-gold);
	padding: clamp(16px, 2vw, 28px) clamp(18px, 2.4vw, 34px);
}

.rrr-invoice__hero p { margin: 0; }

.rrr-invoice__masthead { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; }
.rrr-invoice__nav { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.rrr-invoice__nav a { color: #fff; font: 700 .88rem/1.35 Arial, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
.rrr-invoice__nav a:hover, .rrr-invoice__nav a:focus-visible { color: var(--rrr-invoice-gold); }
.rrr-invoice__nav-short, .rrr-invoice__preview-short { display: none; }

.rrr-invoice__eyebrow {
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--rrr-invoice-gold);
}

.rrr-invoice__hero h1 {
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.05;
	max-width: none;
	margin: 5px 0 6px;
	color: #fff;
}

.rrr-invoice__hero p:last-child {
	font-size: clamp(.95rem, 1.1vw, 1.08rem);
	max-width: 62ch;
	color: #fff;
}

.rrr-invoice__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
	gap: clamp(14px, 2vw, 26px);
	align-items: start;
	padding: clamp(14px, 1.7vw, 24px) 0 0;
}

.rrr-invoice__card {
	background: #fff;
	border: 2px solid var(--rrr-invoice-border);
	padding: clamp(18px, 2vw, 28px);
	box-shadow: 0 18px 50px rgba(9, 49, 33, .09);
}

.rrr-invoice__card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 1.2rem;
	font-weight: 700;
	border-bottom: 2px solid var(--rrr-invoice-border);
	padding-bottom: 12px;
}

.rrr-invoice__card-header strong {
	background: var(--rrr-invoice-green);
	color: #fff;
	font-size: .85rem;
	padding: 8px 14px;
	white-space: nowrap;
}

.rrr-invoice__details { margin: 0; }
.rrr-invoice__details > div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--rrr-invoice-border);
	padding: 12px 0;
}
.rrr-invoice__details dt { color: #49665a; font-weight: 600; }
.rrr-invoice__details dd { margin: 0; text-align: right; font-weight: 700; overflow-wrap: anywhere; }
.rrr-invoice__details .rrr-invoice__amount { font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1; }
.rrr-invoice__mobile-stepbar { display: none; }
.rrr-invoice__summary { padding-top: 14px; }
.rrr-invoice__summary h2 { font-size: 1.35rem; color: var(--rrr-invoice-deep); margin: 0 0 8px; }
.rrr-invoice__summary h3 { font-size: 1.1rem; margin: 0 0 8px; }
.rrr-invoice__summary p { margin: 0 0 10px; }
.rrr-invoice__summary ul { list-style: none; padding: 0; margin: 0; }
.rrr-invoice__summary li { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--rrr-invoice-border); padding: 8px 0; }

.rrr-invoice__action-card h2 {
	color: var(--rrr-invoice-deep);
	font-size: clamp(1.6rem, 2.4vw, 2.3rem);
	line-height: 1.1;
	margin: 0 0 7px;
}
.rrr-invoice__action-card p { margin: 0 0 12px; }
.rrr-invoice__success-mark {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 12px;
	border: 2px solid var(--rrr-invoice-green);
	border-radius: 50%;
	background: #e9f3ed;
	color: var(--rrr-invoice-green);
	font: 800 1.5rem/1 Arial, sans-serif;
}
.rrr-invoice__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.rrr-invoice label { display: grid; gap: 5px; font-weight: 700; margin: 0; }
.rrr-invoice label span { font-weight: 400; }
.rrr-invoice__wide { grid-column: 1 / -1; }
.rrr-invoice__optional-note { border: 1px solid var(--rrr-invoice-border); padding: 10px 12px; }
.rrr-invoice__optional-note summary { cursor: pointer; color: var(--rrr-invoice-green); font-weight: 700; }
.rrr-invoice__optional-note[open] label { margin-top: 12px; }
.rrr-invoice__sms-option { font-size: .88rem; }
.rrr-invoice__sms-option .rrr-invoice__sms-choice { display: flex; align-items: flex-start; gap: 9px; font-weight: 400; line-height: 1.45; }
.rrr-invoice__sms-option .rrr-invoice__sms-choice input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 2px 0 0; padding: 0; accent-color: var(--rrr-invoice-green); }
.rrr-invoice__sms-option .rrr-invoice__sms-choice span { min-width: 0; }
.rrr-invoice__sms-option .rrr-invoice__sms-choice a { color: var(--rrr-invoice-green); text-decoration: underline; }
.rrr-invoice__sms-notice { border: 1px solid #25644a; border-radius: 8px; padding: 9px 12px; background: #f1f8f3; color: #173f30; font-weight: 700; }
.rrr-invoice input, .rrr-invoice textarea {
	font: inherit;
	width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	color: var(--rrr-invoice-text);
	background: #fff;
	border: 2px solid var(--rrr-invoice-border);
	border-radius: 0;
}
.rrr-invoice textarea { min-height: 62px; resize: vertical; }
.rrr-invoice input:focus, .rrr-invoice textarea:focus, .rrr-invoice__button:focus-visible {
	outline: 3px solid var(--rrr-invoice-gold);
	outline-offset: 2px;
}

.rrr-invoice__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	min-height: 50px;
	border: 2px solid var(--rrr-invoice-green);
	background: var(--rrr-invoice-green);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	padding: 10px 18px;
}
.rrr-invoice__button:hover, .rrr-invoice__button:focus { background: var(--rrr-invoice-deep); color: #fff; }
.rrr-invoice__button--outline { background: transparent; color: var(--rrr-invoice-green); }
.rrr-invoice__button--outline:hover { color: #fff; }
.rrr-invoice__action-card form + form { margin-top: 22px; }
.rrr-invoice__notice { margin-top: 14px !important; color: var(--rrr-invoice-green); font-weight: 700; }
.rrr-invoice__giving { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rrr-invoice-border); }
.rrr-invoice__giving :is(h2, h3) { font-size: 1rem; }
.rrr-invoice__giving p { font-size: .86rem; }
.rrr-invoice__documents { display: grid; gap: 10px; margin: 16px 0 20px; }
.rrr-invoice__documents-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-top: 2px solid var(--rrr-invoice-border); padding-top: 12px; }
.rrr-invoice__documents-heading h3 { margin: 0; color: var(--rrr-invoice-deep); font-size: 1.15rem; }
.rrr-invoice__documents-heading span { font-size: .8rem; font-weight: 700; color: #49665a; white-space: nowrap; }
.rrr-invoice__document { border: 1px solid var(--rrr-invoice-border); background: #fff; padding: 12px; }
.rrr-invoice__document-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.rrr-invoice__document-heading strong { color: var(--rrr-invoice-deep); font-size: 1.02rem; }
.rrr-invoice__document-heading span { color: #714625; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.rrr-invoice__document.is-signed .rrr-invoice__document-heading span { color: var(--rrr-invoice-green); }
.rrr-invoice__document-meta { margin: 5px 0 !important; color: #49665a; font-size: .86rem; }
.rrr-invoice__document-review { margin-top: 10px; }
.rrr-invoice__document-review summary { cursor: pointer; border: 1px solid var(--rrr-invoice-green); padding: 10px 12px; color: var(--rrr-invoice-green); font-weight: 700; }
.rrr-invoice__document-review summary:hover, .rrr-invoice__document-review summary:focus-visible { background: #e9f3ed; outline-color: var(--rrr-invoice-gold); }
.rrr-invoice__document-body { max-height: min(38dvh, 360px); min-height: 90px; overflow: auto; margin: 10px 0; padding: 14px; border: 1px solid var(--rrr-invoice-border); background: #f7faf8; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.rrr-invoice__document-review form { display: grid; gap: 12px; }
.rrr-invoice__document-assent { display: flex !important; align-items: flex-start; gap: 10px !important; font-size: .92rem; font-weight: 500 !important; }
.rrr-invoice__document-assent input { flex: none; width: 20px; min-height: 20px; height: 20px; margin: 2px 0 0; }
.rrr-invoice__document-assent span { font-weight: 500 !important; }
.rrr-invoice__document-message { min-height: 1.3em; margin: 0 !important; color: var(--rrr-invoice-green); font-size: .85rem; }
.rrr-invoice__document-download { margin-top: 10px !important; }
.rrr-invoice__document-link { border: 0; padding: 0; background: transparent; color: var(--rrr-invoice-green); font: 700 .9rem/1.4 Arial,sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rrr-invoice__document-link:focus-visible { outline: 3px solid var(--rrr-invoice-gold); outline-offset: 3px; }
.rrr-invoice__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 20px;
	margin-top: auto;
	padding: 12px 2px 0;
	border-top: 1px solid var(--rrr-invoice-border);
	font: 600 .8rem/1.35 Arial, sans-serif;
	color: #426354;
}
.rrr-invoice__footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.rrr-invoice__footer a { color: var(--rrr-invoice-green); text-decoration: underline; text-underline-offset: 2px; }
.rrr-invoice__footer a:hover, .rrr-invoice__footer a:focus-visible { color: #000; }
.rrr-invoice--unavailable { min-height: 100dvh; }
.rrr-invoice__recovery { width: min(100%, 720px); margin: clamp(16px, 4vh, 48px) auto; padding: clamp(20px, 3vw, 36px); }
.rrr-invoice__recovery h2 { margin: 0 0 .5rem; color: var(--rrr-invoice-green); font-size: clamp(1.45rem, 2vw, 2rem); }
.rrr-invoice__recovery p { margin: 0; line-height: 1.5; }
.rrr-invoice__recovery-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.25rem; }

@media (max-width: 760px) {
	.rrr-invoice__layout, .rrr-invoice__fields { grid-template-columns: minmax(0, 1fr); }
	.rrr-invoice__wide { grid-column: auto; }
	.rrr-invoice[data-rrr-invoice-steps-ready] .rrr-invoice__mobile-stepbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		font: 700 .84rem/1.3 Arial, sans-serif;
	}
	.rrr-invoice__mobile-stepbar button {
		min-height: 42px;
		padding: 7px 12px;
		border: 1px solid var(--rrr-invoice-green);
		background: #fff;
		color: var(--rrr-invoice-green);
		font: inherit;
		cursor: pointer;
	}
	.rrr-invoice__mobile-stepbar button:hover, .rrr-invoice__mobile-stepbar button:focus-visible { background: var(--rrr-invoice-green); color: #fff; }
	.rrr-invoice[data-rrr-invoice-steps-ready] [data-rrr-invoice-panel]:not(.is-active) { display: none; }
	.rrr-invoice__card-header { font-size: 1rem; }
	.rrr-invoice__card-header strong { font-size: .75rem; padding: 6px 9px; }
	.rrr-invoice__details > div { padding: 9px 0; }
	.rrr-invoice__hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px 8px;
		align-items: end;
		padding: 9px 12px 10px;
	}
	.rrr-invoice__hero h1 {
		grid-column: 1;
		grid-row: 2;
		align-self: center;
		font-size: clamp(1.3rem, 5.7vw, 1.7rem);
		line-height: 1.1;
		margin: 0;
	}
	.rrr-invoice__hero > p:last-child {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.rrr-invoice__preview {
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
		align-self: center;
		margin: 0 !important;
		padding: 3px 6px;
		font-size: .62rem;
		white-space: nowrap;
	}
	.rrr-invoice__preview-long, .rrr-invoice__nav-long, .rrr-invoice__context { display: none; }
	.rrr-invoice__preview-short, .rrr-invoice__nav-short { display: inline; }
	.rrr-invoice__card { padding: 14px; }
	.rrr-invoice__masthead {
		grid-column: 1 / -1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 4px 10px;
	}
	.rrr-invoice__eyebrow { font-size: .62rem; letter-spacing: .07em; white-space: nowrap; }
	.rrr-invoice__nav { gap: 8px; }
	.rrr-invoice__nav a { font-size: .72rem; }
	.rrr-invoice__footer { font-size: .75rem; }
	.rrr-invoice__layout { gap: 10px; padding-top: 10px; }
	.rrr-invoice__action-card h2 { font-size: 1.4rem; }
	.rrr-invoice__fields { gap: 9px; }
	.rrr-invoice__fields input { min-height: 43px; }
	.rrr-invoice__document-heading { flex-wrap: wrap; }
	.rrr-invoice__document-body { max-height: min(45dvh, 320px); }
}
