/* NewLife - Modern document styling (shared) */
:root{
	--nl-accent: #00bfa5;
	--nl-accent-2: #22c55e;
	--nl-bg: #f5f7fb;
	--nl-card: #ffffff;
	--nl-text: #0f172a;
	--nl-muted: rgba(15,23,42,.70);
	--nl-border: rgba(15,23,42,.12);
	--nl-shadow: 0 18px 50px rgba(2,6,23,.14);
	--nl-radius: 18px;
}

html, body{ height: 100%; }
body{
	margin: 0;
	background: var(--nl-bg);
	color: var(--nl-text);
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.nl-doc{
	padding: 18px 14px 22px;
}

.nl-doc-header{
	max-width: 920px;
	margin: 0 auto 12px;
	padding: 14px 16px;
	border-radius: var(--nl-radius);
	background: linear-gradient(135deg, var(--nl-accent), var(--nl-accent-2));
	color: #fff;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 14px 34px rgba(0,191,165,.22);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.nl-doc-header .nl-doc-title{
	font-size: 14px;
	line-height: 1.1;
}
.nl-doc-header .nl-doc-brand{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	opacity: .98;
}
.nl-doc-header .nl-doc-logo{
	width: 34px;
	height: 34px;
	border-radius: 9999px;
	background: rgba(255,255,255,.92);
	padding: 6px;
	box-sizing: border-box;
}
.nl-doc-header .nl-doc-name{
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	white-space: nowrap;
}

.nl-doc-card{
	max-width: 920px;
	margin: 0 auto;
	background: var(--nl-card);
	border: 1px solid var(--nl-border);
	border-radius: var(--nl-radius);
	box-shadow: var(--nl-shadow);
	padding: 16px 16px 6px;
}

.nl-doc-lead{
	color: var(--nl-muted);
	font-weight: 650;
	line-height: 1.65;
	margin: 0 0 14px;
}

.nl-doc-text{
	color: rgba(15,23,42,.84);
	line-height: 1.75;
	font-weight: 600;
	margin: 0;
	white-space: pre-line;
}
.nl-doc-text b{
	color: rgba(15,23,42,.92);
	font-weight: 900;
}

.nl-doc-section{
	border-top: 1px solid rgba(15,23,42,.08);
	padding-top: 12px;
	margin-top: 12px;
}
.nl-doc-section h3{
	margin: 0 0 8px;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 900;
	color: rgba(15,23,42,.92);
}
.nl-doc-section p{
	margin: 0 0 10px;
	color: rgba(15,23,42,.82);
	line-height: 1.7;
	font-weight: 600;
}

.nl-doc-footer{
	margin-top: 14px;
	padding: 14px 0 6px;
	border-top: 1px dashed rgba(15,23,42,.18);
	color: rgba(15,23,42,.70);
	font-weight: 700;
	font-size: 12px;
	display: grid;
	gap: 10px;
}
.nl-sign-row{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.nl-sign{
	border: 1px solid rgba(15,23,42,.12);
	border-radius: 14px;
	padding: 12px;
}
.nl-sign b{ display:block; margin-bottom: 6px; }
.nl-sign .nl-line{
	height: 32px;
	border-bottom: 2px solid rgba(15,23,42,.18);
}

@media (max-width: 520px){
	.nl-doc-header{ flex-direction: column; align-items: flex-start; }
	.nl-doc-header .nl-doc-name{ display: none; }
	.nl-sign-row{ grid-template-columns: 1fr; }
}

