/* Public entry surfaces only. The signed-in console keeps its own theme. */
.eco-entry {
	background: var(--eco-paper);
	color: var(--eco-ink);
	font: 16px/1.55 var(--eco-sans);
	color-scheme: light;
	-webkit-font-smoothing: antialiased;
}
.eco-entry *, .eco-entry *::before, .eco-entry *::after { box-sizing: border-box; }
.eco-entry [hidden] { display: none !important; }
.eco-entry h1, .eco-entry h2, .eco-entry p { margin: 0; }
.eco-entry a { color: inherit; text-decoration: none; }
.eco-entry a:hover { color: var(--eco-green); }
.eco-entry :focus-visible { outline: 3px solid var(--eco-green); outline-offset: 5px; }
.eco-entry input, .eco-entry button { font: inherit; }
.eco-entry h1, .eco-entry h2 {
	font-family: var(--eco-serif);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: 1.05;
}
.eco-entry h2 em, .eco-entry h1 em { font-style: normal; color: var(--eco-green); }
.login-page { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.entry-header, .entry-footer {
	width: calc(100% - 112px);
	max-width: 1296px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.entry-header { min-height: 88px; border-bottom: 1px solid var(--eco-line); }
.entry-header img { display: block; width: 102px; height: 40px; }
.entry-back { min-height: 44px; display: inline-flex; align-items: center; gap: 13px; font-size: 13px; }
.login-layout {
	width: calc(100% - 112px);
	max-width: 1176px;
	margin: auto;
	padding-block: 56px 64px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(370px, 450px);
	gap: clamp(48px, 8vw, 120px);
	align-items: center;
}
.entry-kicker, .entry-document-label {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eco-muted);
}
.eco-entry .login-intro h2 { font-size: clamp(48px, 5.2vw, 72px); margin-top: 26px; }
.eco-entry .entry-lede { color: var(--eco-muted); max-width: 39ch; margin-top: 22px; line-height: 1.65; }
.login-index { margin-top: 34px; max-width: 395px; border-top: 1px solid var(--eco-line); }
.login-index > div { display: flex; align-items: baseline; gap: 23px; padding: 12px 0; border-bottom: 1px solid var(--eco-line); }
.login-index > div > span { color: var(--eco-green); font-size: 10px; }
.login-index > div > span:last-child { margin-left: auto; font-size: 17px; }
.login-index p { font-size: 13px; }
.entry-sheet {
	position: relative;
	min-width: 0;
	padding: 32px 34px;
	background: var(--eco-white);
	border: 1px solid var(--eco-line);
	box-shadow: 6px 6px 0 -1px var(--eco-paper), 6px 6px 0 var(--eco-line);
}
.entry-sheet-tab { position: absolute; top: -5px; left: -1px; width: 74px; height: 5px; background: var(--eco-green); }
.entry-document-label { padding-bottom: 17px; border-bottom: 1px solid var(--eco-line); }
.eco-entry .entry-sheet h1, .eco-entry .entry-sheet h2 { font-size: 46px; margin-top: 25px; }
.eco-entry .entry-help { margin-top: 10px; color: var(--eco-muted); font-size: 14px; }
.entry-form { margin-top: 28px; }
.entry-field + .entry-field { margin-top: 19px; }
.entry-field label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 500; }
.entry-field input {
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 48px;
	padding: 10px 13px;
	background: var(--eco-white);
	color: var(--eco-ink);
	border: 1px solid #8b9488;
	border-radius: 2px;
	font-size: 16px;
	line-height: 1.5;
}
.entry-field input::placeholder { color: var(--eco-muted); opacity: 1; }
.entry-field input:focus { border-color: var(--eco-green); }
.entry-field input[aria-invalid="true"] { border-color: var(--eco-red); }
.eco-entry .entry-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-height: 50px;
	margin-top: 23px;
	padding: 12px 18px;
	border: 1px solid var(--eco-green);
	border-radius: 2px;
	background: var(--eco-green);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}
.entry-button > span[aria-hidden="true"] { font-size: 23px; line-height: 1; }
.eco-entry .entry-button:hover { background: #10623d; }
.eco-entry .entry-button:disabled { background: #596259; border-color: #596259; cursor: wait; }
.eco-entry .entry-support { margin-top: 19px; color: var(--eco-muted); font-size: 12px; line-height: 1.65; }
.entry-sheet-footer { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--eco-line); font-size: 12px; color: var(--eco-muted); }
.entry-sheet-footer a { color: var(--eco-green); text-decoration: underline; text-underline-offset: 4px; }
.entry-footer { min-height: 72px; border-top: 1px solid var(--eco-line); font-size: 11px; color: var(--eco-muted); padding-block: 16px; }
.entry-footer a { padding-block: 10px; }
.eco-entry .entry-message { padding: 13px 15px; margin-top: 18px; border: 1px solid var(--eco-line); font-size: 13px; line-height: 1.6; }
.eco-entry .entry-message-error { color: var(--eco-red); background: #fff7f2; border-color: #a12e25; }
.eco-entry .entry-message-info { color: var(--eco-amber); border-color: #b58a54; background: #faf4e7; }

/* Verification is a working document, with the result kept separate from lookup. */
.verify-layout {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(40px, 7vw, 96px);
	padding-block: 68px 88px;
	align-items: start;
}
.eco-entry .verify-intro h1 { font-size: clamp(44px, 4.4vw, 62px); margin-top: 24px; }
.eco-entry .verify-intro .entry-lede { max-width: 35ch; }
.verification-boundary { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--eco-line); font-size: 13px; color: var(--eco-muted); line-height: 1.7; }
.verification-boundary strong { color: var(--eco-ink); font-weight: 500; }
.eco-entry .verification-boundary p + p { margin-top: 12px; }
.verification-boundary a { display: inline-block; margin-top: 13px; padding: 6px 0; color: var(--eco-green); text-decoration: underline; text-underline-offset: 4px; }
.eco-entry .verify-sheet h2 { font-size: 34px; }
.verify-form { margin-top: 22px; }
.verify-input-row { display: flex; align-items: start; gap: 10px; }
.verify-input-row input { flex: 1; }
.eco-entry .verify-input-row button { width: auto; min-height: 48px; margin: 0; padding-inline: 19px; gap: 18px; flex-shrink: 0; }
.eco-entry .verify-field-help { font-size: 12px; color: var(--eco-muted); margin-top: 9px; }
.verify-result { margin-top: 24px; padding: 26px 28px; background: var(--eco-white); border: 1px solid var(--eco-line); border-top: 3px solid var(--eco-green); }
.eco-entry .verify-result h2 { font: 500 20px/1.3 var(--eco-sans); letter-spacing: -.02em; }
.eco-entry .verify-result > p { font-size: 13px; margin-top: 9px; color: var(--eco-muted); }
.verify-result dl { margin: 24px 0 0; }
.verify-result dl > div { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); gap: 18px; padding: 12px 0; border-top: 1px solid var(--eco-line); }
.verify-result dt { font-size: 11px; color: var(--eco-muted); }
.verify-result dd { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.verify-result .chain-status { display: block; }
.verify-result .chain-status + .chain-status { margin-top: 6px; }
.verify-result .chain-warning { color: var(--eco-amber); }
.verify-result .hash-detail { margin-top: 24px; border-top: 1px solid var(--eco-line); padding-top: 16px; }
.hash-detail summary { cursor: pointer; padding-block: 8px; font-size: 13px; font-weight: 500; color: var(--eco-green); }
.hash-detail p { font-size: 12px; line-height: 1.7; }
.eco-entry .hash-detail p + p { margin-top: 14px; }
.hash-detail code { display: block; margin: 8px 0 15px; font: 11px/1.7 ui-monospace, Menlo, monospace; overflow-wrap: anywhere; color: var(--eco-ink); }
.hash-detail .file-hash { padding: 10px 12px; background: var(--eco-paper); border: 1px solid var(--eco-line); }
.verify-result:focus { outline: 3px solid var(--eco-green); outline-offset: 5px; }
@media (max-width: 1000px) {
	.entry-header, .entry-footer, .login-layout { width: calc(100% - 64px); }
	.login-layout { grid-template-columns: minmax(0, 1fr) minmax(340px, 410px); gap: 36px; padding-block: 44px 54px; }
	.eco-entry .login-intro h2 { font-size: 49px; }
	.entry-sheet { padding: 27px 26px; }
	.verify-layout { gap: 36px; }
	.verify-input-row { flex-wrap: wrap; }
	.verify-input-row input { flex-basis: 100%; }
	.eco-entry .verify-input-row button { width: 100%; }
}
@media (max-width: 700px) {
	.entry-header, .entry-footer, .login-layout { width: calc(100% - 40px); }
	.entry-header { min-height: 76px; }
	.entry-header img { width: 90px; }
	.entry-back { font-size: 12px; }
	.login-layout { display: block; max-width: 460px; padding-block: 38px 44px; }
	.login-intro { display: none; }
	.entry-sheet { padding: 25px 23px; }
	.eco-entry .entry-sheet h1 { font-size: 43px; }
	.entry-footer { flex-wrap: wrap; gap: 2px 20px; font-size: 10px; }
	.verify-layout { display: block; padding-block: 36px 56px; }
	.eco-entry .verify-intro h1 { font-size: 44px; margin-top: 18px; }
	.eco-entry .verify-intro .entry-lede { max-width: 42ch; font-size: 15px; }
	.verification-boundary { margin-top: 23px; padding-top: 18px; }
	.verify-content { margin-top: 36px; }
	.verify-result { padding: 22px 20px; }
	.verify-result dl > div { grid-template-columns: 1fr; gap: 5px; }
}
