/* ==========================================================================
   NU Result — application styles
   Palette follows nu.ac.bd and results.nu.ac.bd: university blue for
   structure, university green for the action that matters.
   ========================================================================== */

/* --------------------------------------------------------------- 1. Tokens */
:root {
	--nur-primary: #2F76B4;
	--nur-deep: #1B5687;
	--nur-accent: #137A4B;
	--nur-bg: #F1F6FB;
	--nur-ink: #14212B;
	--nur-primary-rgb: 47, 118, 180;
	--nur-accent-rgb: 19, 122, 75;

	--nur-surface: #FFFFFF;
	--nur-surface-2: #F8FBFE;
	--nur-muted: #5A6B7A;
	--nur-line: rgba(var(--nur-primary-rgb), .18);
	--nur-line-soft: rgba(var(--nur-primary-rgb), .09);
	--nur-soft: rgba(var(--nur-primary-rgb), .06);
	--nur-gold: #C8961E;
	--nur-good: #137A4B;
	--nur-warn: #B7791F;
	--nur-bad: #C0392B;

	--nur-display: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--nur-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--nur-mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Roboto Mono", "DejaVu Sans Mono", monospace;

	--nur-r-sm: 7px;
	--nur-r: 12px;
	--nur-r-lg: 18px;

	--nur-shadow-sm: 0 1px 2px rgba(27, 86, 135, .07), 0 2px 8px rgba(27, 86, 135, .05);
	--nur-shadow: 0 2px 6px rgba(27, 86, 135, .07), 0 12px 30px rgba(27, 86, 135, .09);
	--nur-shadow-lg: 0 4px 12px rgba(27, 86, 135, .09), 0 26px 60px rgba(27, 86, 135, .14);

	--nur-gutter: 20px;
	--nur-max: 1180px;
}

/* ----------------------------------------------------------- 2. Base reset */
.nur-app *,
.nur-app *::before,
.nur-app *::after { box-sizing: border-box; }

.nur-app {
	margin: 0;
	padding: 0;
	background: var(--nur-bg);
	color: var(--nur-ink);
	font-family: var(--nur-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

.nur-app img { max-width: 100%; height: auto; display: block; }
/*
 * Links inherit by default. Only links inside prose containers take the link
 * colour: a blanket `li a` rule repaints the header menu, the footer columns
 * and the drawer, all of which sit on dark blue.
 */
.nur-app a { text-decoration: none; color: inherit; }
.nur-app :is(.nur-prose, .nur-sec__intro, .nur-checker__lede, .nur-checker__note,
	.nur-checker__tip, .nur-faq__a, .nur-steps__text, .nur-note, .nur-help,
	.nur-callout, .nur-noticebar__text, .nur-paylist, .nur-table, .nur-form__fine,
	.nur-notice-img, .nur-latest__text) a:not(.nur-btn) {
	color: var(--nur-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.nur-app :is(.nur-prose, .nur-sec__intro, .nur-checker__lede, .nur-checker__note,
	.nur-checker__tip, .nur-faq__a, .nur-steps__text, .nur-note, .nur-help,
	.nur-callout, .nur-noticebar__text, .nur-paylist, .nur-table, .nur-form__fine,
	.nur-notice-img, .nur-latest__text) a:not(.nur-btn):hover { color: var(--nur-deep); }
.nur-app h1, .nur-app h2, .nur-app h3, .nur-app h4 {
	font-family: var(--nur-display);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.22;
	margin: 0 0 .5em;
	color: var(--nur-ink);
	text-wrap: balance;
}
.nur-app p { margin: 0 0 1em; }
.nur-app ul, .nur-app ol { margin: 0 0 1em; padding-left: 1.2em; }
.nur-app code {
	font-family: var(--nur-mono);
	font-size: .88em;
	background: var(--nur-soft);
	border: 1px solid var(--nur-line-soft);
	border-radius: 5px;
	padding: .12em .42em;
	color: var(--nur-deep);
	white-space: nowrap;
}
.nur-app strong { font-weight: 700; }
.nur-app :focus-visible {
	outline: 3px solid var(--nur-accent);
	outline-offset: 2px;
	border-radius: 4px;
}
.nur-app .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

/* Icons inherit text colour and never collapse. */
.nur-i {
	flex: 0 0 auto;
	display: inline-block;
	vertical-align: middle;
	fill: none;
	stroke: currentColor;
}
.nur-muted { color: var(--nur-muted); }
.nur-num { font-variant-numeric: tabular-nums; font-family: var(--nur-mono); }

.nur-app .nur-skip {
	position: absolute; left: -9999px; top: 0; z-index: 999;
	background: var(--nur-deep); color: #fff;
	padding: 12px 18px; border-radius: 0 0 var(--nur-r-sm) 0;
	font-weight: 700;
}
.nur-app .nur-skip:focus { left: 0; color: #fff; }

.nur-wrap {
	width: 100%;
	max-width: var(--nur-max);
	margin-inline: auto;
	padding-inline: var(--nur-gutter);
}
.nur-main { display: block; }

/* ------------------------------------------------------------- 3. Progress */
.nur-progress {
	position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 60;
	background: transparent; pointer-events: none;
}
.nur-progress span {
	display: block; height: 100%; width: 0;
	background: linear-gradient(90deg, var(--nur-accent), var(--nur-primary));
	transition: width .1s linear;
}

/* --------------------------------------------------------------- 4. Header */
.nur-header {
	background: var(--nur-primary);
	color: #fff;
	position: relative;
	z-index: 50;
	border-bottom: 3px solid var(--nur-deep);
}
.nur-header.is-sticky { position: sticky; top: 0; }
.nur-header.is-shrunk { box-shadow: 0 6px 22px rgba(27, 86, 135, .3); }
.nur-header__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 64px;
	padding-block: 10px;
}
.nur-app .nur-brand { display: flex; align-items: center; gap: 11px; color: #fff; flex: 0 0 auto; }
.nur-app .nur-brand:hover { color: #fff; }
.nur-brand__mark { width: 34px; height: 34px; display: block; flex: 0 0 auto; }
.nur-brand__mark svg { width: 100%; height: 100%; }
.nur-brand__mark svg path { fill: rgba(255, 255, 255, .14); stroke: #fff; stroke-width: 2; }
.nur-brand__mark svg .nur-brand__mark-in { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.nur-brand__logo { width: 38px; height: 38px; object-fit: contain; border-radius: 8px; background: #fff; padding: 2px; }
.nur-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.nur-brand__name { font-family: var(--nur-display); font-weight: 800; font-size: 19px; letter-spacing: -.015em; }
.nur-brand__tag {
	font-size: 10.5px; text-transform: uppercase; letter-spacing: .12em;
	font-weight: 600; color: rgba(255, 255, 255, .78);
}

.nur-nav { margin-left: auto; }
.nur-nav ul { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.nur-nav a {
	display: flex; align-items: center; gap: 7px;
	padding: 9px 13px; border-radius: 6px;
	color: rgba(255, 255, 255, .92);
	font-size: 14.5px; font-weight: 600;
	transition: background .18s ease;
}
.nur-nav a:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.nur-nav .nur-i { opacity: .8; }

.nur-header__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.nur-nav + .nur-header__actions { margin-left: 8px; }
.nur-header__cta { white-space: nowrap; }
.nur-burger {
	display: none;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .28);
	color: #fff; width: 42px; height: 42px;
	border-radius: 8px; align-items: center; justify-content: center;
	cursor: pointer;
}

/* --------------------------------------------------------- 5. Breadcrumbs */
.nur-crumbs { background: var(--nur-surface); border-bottom: 1px solid var(--nur-line-soft); }
.nur-crumbs ol {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
	list-style: none; margin: 0; padding: 10px 0; font-size: 13px;
}
.nur-crumbs li { display: flex; align-items: center; gap: 4px; }
.nur-crumbs a { color: var(--nur-muted); font-weight: 600; }
.nur-crumbs a:hover { color: var(--nur-primary); }
.nur-crumbs__sep { color: var(--nur-line); }
.nur-crumbs [aria-current] { color: var(--nur-ink); font-weight: 700; }

/* -------------------------------------------------------------- 6. Section */
.nur-sec { padding-block: clamp(38px, 5.5vw, 66px); position: relative; }
.nur-sec--alt { background: var(--nur-surface); }
.nur-sec--band {
	background: linear-gradient(180deg, #E4EFF9 0%, var(--nur-bg) 100%);
	padding-block: clamp(26px, 3.5vw, 42px) clamp(34px, 4.5vw, 52px);
	border-bottom: 1px solid var(--nur-line-soft);
}
.nur-sec--toc { padding-block: 0; }

/* Type modifiers exist so a site owner can target one section in custom CSS. */
.nur-sec--checker, .nur-sec--latest, .nur-sec--overview, .nur-sec--clusters,
.nur-sec--howto, .nur-sec--sms, .nur-sec--cgpa, .nur-sec--marksheet,
.nur-sec--reval_apply, .nur-sec--reval_result, .nur-sec--related,
.nur-sec--faq, .nur-sec--richtext, .nur-sec--timeline, .nur-sec--downloads,
.nur-sec--notice { position: relative; }

.nur-sec__head { max-width: none; margin-bottom: clamp(20px, 3vw, 32px); }
.nur-eyebrow {
	font-size: 11px; font-weight: 800; letter-spacing: .15em;
	text-transform: uppercase; color: var(--nur-accent);
	margin: 0 0 8px; display: flex; align-items: center; gap: 8px;
}
.nur-eyebrow::before {
	content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px;
}
.nur-eyebrow--center { justify-content: center; color: var(--nur-primary); }
.nur-eyebrow--light { color: var(--nur-gold); }
.nur-sec__title { font-size: clamp(24px, 3.4vw, 35px); margin-bottom: .35em; }
.nur-sec__intro { color: #35485A; font-size: 16.5px; max-width: none; }
.nur-sec__intro p:last-child { margin-bottom: 0; }
.nur-h3 {
	display: flex; align-items: center; gap: 9px;
	font-size: 18px; margin-bottom: 16px; color: var(--nur-deep);
}
.nur-h3 .nur-i { color: var(--nur-accent); }
.nur-note { color: var(--nur-muted); font-size: 14.5px; margin-top: 14px; }
.nur-help { color: var(--nur-muted); font-size: 12.5px; margin: 6px 0 0; line-height: 1.5; }
.nur-prose { color: var(--nur-ink); }
.nur-prose h3 { font-size: 21px; margin-top: 1.5em; }
.nur-prose--wide { max-width: none; }
.nur-prose--wide p { color: #2C3B47; }

/* ------------------------------------------- 7. The checker (the front door) */
.nur-checker { display: block; }

/* One or two sentences above the card, using the width they are given. */
.nur-checker__lede {
	color: #35485A; font-size: 16.5px;
	margin: 0 0 20px; max-width: none;
}
.nur-checker__lede p:last-child { margin-bottom: 0; }

.nur-checker__panel {
	background: var(--nur-surface);
	border: 1px solid var(--nur-line);
	border-radius: var(--nur-r-lg);
	box-shadow: var(--nur-shadow-lg);
	overflow: hidden;
}

.nur-checker__tabs {
	position: relative;
	display: grid; grid-template-columns: repeat(3, 1fr);
	background: var(--nur-primary);
}
.nur-tab {
	position: relative; z-index: 2;
	display: flex; align-items: center; justify-content: center; gap: 8px;
	background: none; border: 0; cursor: pointer;
	padding: 14px 8px;
	font-family: inherit; font-size: 14px; font-weight: 700;
	color: rgba(255, 255, 255, .82);
	transition: color .18s ease, background .18s ease;
	min-height: 50px;
}
.nur-tab:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.nur-tab.is-active { color: #fff; background: rgba(255, 255, 255, .14); }
.nur-checker__glider {
	position: absolute; bottom: 0; left: 0; z-index: 3;
	height: 3px; width: calc(100% / 3);
	background: #fff; border-radius: 3px 3px 0 0;
	transition: transform .28s cubic-bezier(.4, 0, .2, 1);
}

.nur-checker__body { padding: clamp(18px, 2.4vw, 26px); }
.nur-checker__body[hidden] { display: none; }
.nur-checker__cardtitle {
	text-align: center;
	font-size: clamp(22px, 2.8vw, 30px);
	color: var(--nur-accent);
	letter-spacing: -.02em;
	margin-bottom: .45em;
}
.nur-checker__note {
	text-align: center; color: var(--nur-muted);
	font-size: 14.5px; margin: 0 auto 22px; max-width: none;
}
.nur-checker__tip {
	display: flex; gap: 8px; align-items: flex-start;
	margin: 18px 0 0; padding: 11px 14px;
	background: rgba(var(--nur-primary-rgb), .07);
	border: 1px solid rgba(var(--nur-primary-rgb), .2);
	border-radius: var(--nur-r-sm);
	font-size: 13px; color: #2C4A63;
}
.nur-checker__tip .nur-i { color: var(--nur-primary); margin-top: 2px; }
.nur-checker__trust {
	list-style: none; margin: 20px 0 0; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px;
}
.nur-checker__trust li {
	display: flex; align-items: center; gap: 8px;
	font-size: 13.5px; font-weight: 600; color: #33506B;
}
.nur-checker__trust .nur-i { color: var(--nur-accent); }

/* --------------------------------------------------------------- 8. Fields */
.nur-form { margin: 0; }
.nur-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 22px;
}
.nur-form__actions { display: flex; justify-content: center; margin-top: 22px; }
.nur-form__fine {
	display: flex; align-items: center; justify-content: center; gap: 7px;
	font-size: 12.5px; color: var(--nur-muted);
	margin: 16px 0 0; text-align: center; flex-wrap: wrap;
}
.nur-form__fine .nur-i { color: var(--nur-accent); margin-top: 2px; }
.nur-form__error {
	background: rgba(192, 57, 43, .08);
	border: 1px solid rgba(192, 57, 43, .3);
	color: #96271C; border-radius: var(--nur-r-sm);
	padding: 10px 13px; font-size: 13.5px; margin: 16px 0 0; font-weight: 600;
}

.nur-field { margin-bottom: 0; }
.nur-field > label {
	display: block; margin-bottom: 7px;
	font-size: 13.5px; font-weight: 700;
	color: var(--nur-deep);
}
.nur-optional {
	font-weight: 500; font-size: 12px; color: var(--nur-muted); margin-left: 4px;
}
.nur-field-row { display: grid; grid-template-columns: 1fr 132px; gap: 12px; }
.nur-input,
.nur-app select {
	width: 100%;
	font-family: inherit; font-size: 15px;
	padding: 11px 13px;
	border: 1px solid #C8D8E6;
	border-radius: var(--nur-r-sm);
	background: #EFF4F8;
	color: var(--nur-ink);
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
	min-height: 46px;
}
.nur-input::placeholder { color: #8798A6; }
.nur-input:focus,
.nur-app select:focus {
	outline: none; background: #fff;
	border-color: var(--nur-primary);
	box-shadow: 0 0 0 3px rgba(var(--nur-primary-rgb), .16);
}
.nur-select { position: relative; }
.nur-select select { appearance: none; padding-right: 40px; cursor: pointer; }
.nur-select__arrow {
	position: absolute; right: 13px; top: 50%;
	transform: translateY(-50%) rotate(90deg);
	color: var(--nur-muted); pointer-events: none;
}
.nur-select--sm select { padding: 8px 30px 8px 10px; min-height: 40px; font-size: 13.5px; }
.nur-select--sm .nur-select__arrow { right: 9px; }
.nur-searchbox { position: relative; }
.nur-searchbox > .nur-i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--nur-muted); }
.nur-searchbox .nur-input { padding-left: 42px; }

/* -------------------------------------------------------------- 9. Buttons */
.nur-app .nur-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: inherit; font-size: 15px; font-weight: 700;
	padding: 12px 22px; min-height: 46px;
	border-radius: var(--nur-r-sm); border: 1px solid transparent;
	cursor: pointer; text-align: center; text-decoration: none;
	background: var(--nur-primary); color: #fff;
	transition: transform .14s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.nur-app .nur-btn:active { transform: translateY(1px); }
.nur-app .nur-btn span,
.nur-app .nur-btn .nur-i { color: inherit; }
.nur-app .nur-btn--primary { background: var(--nur-primary); color: #fff; box-shadow: var(--nur-shadow-sm); }
.nur-app .nur-btn--primary:hover { background: var(--nur-deep); color: #fff; }
.nur-app .nur-btn--accent { background: var(--nur-accent); color: #fff; box-shadow: var(--nur-shadow-sm); }
.nur-app .nur-btn--accent:hover { background: #0F6640; color: #fff; }
.nur-app .nur-btn--soft { background: #4CA96F; color: #fff; box-shadow: none; }
.nur-app .nur-btn--soft:hover { background: var(--nur-accent); color: #fff; }
.nur-app .nur-btn--ghost { background: #fff; border-color: #C8D8E6; color: var(--nur-deep); }
.nur-app .nur-btn--ghost:hover { background: var(--nur-soft); border-color: var(--nur-primary); color: var(--nur-deep); }
.nur-app .nur-btn--secondary { background: var(--nur-soft); border-color: var(--nur-line); color: var(--nur-deep); }
.nur-app .nur-btn--secondary:hover { background: rgba(var(--nur-primary-rgb), .14); color: var(--nur-deep); }
.nur-app .nur-btn--block { width: 100%; }
.nur-app .nur-btn--sm { padding: 8px 14px; min-height: 38px; font-size: 13.5px; }
.nur-app .nur-btn--lg { padding: 14px 40px; min-height: 52px; font-size: 16.5px; }
.nur-btn__ext { opacity: .75; }
.nur-btnrow { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }

/* ------------------------------------------------------------- 10. Archive */
.nur-archive { max-height: 460px; overflow-y: auto; margin: 0 -6px; padding: 0 6px; }
.nur-archive__group + .nur-archive__group { margin-top: 18px; }
.nur-archive__title {
	display: flex; align-items: center; gap: 7px;
	font-size: 11.5px; text-transform: uppercase; letter-spacing: .12em;
	color: var(--nur-muted); margin: 0 0 8px; font-weight: 800;
}
.nur-archive__title .nur-i { color: var(--nur-accent); }
.nur-archive__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.nur-archive__list a {
	display: flex; align-items: center; gap: 10px;
	padding: 11px 12px; border-radius: var(--nur-r-sm);
	border: 1px solid var(--nur-line-soft);
	background: var(--nur-surface-2);
	transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.nur-archive__list a:hover {
	border-color: rgba(var(--nur-primary-rgb), .4);
	background: #fff; transform: translateX(2px);
}
.nur-archive__name { font-weight: 600; font-size: 14.5px; color: var(--nur-ink); flex: 1 1 auto; }
.nur-archive__meta { display: flex; gap: 5px; flex: 0 0 auto; }
.nur-archive__go { color: var(--nur-muted); }
.nur-archive__empty { text-align: center; color: var(--nur-muted); font-size: 14px; padding: 24px 8px; }
.nur-chip {
	display: inline-flex; align-items: center;
	font-size: 11px; font-weight: 700;
	padding: 3px 8px; border-radius: 999px;
	background: var(--nur-soft); color: var(--nur-deep);
	border: 1px solid var(--nur-line-soft);
	white-space: nowrap;
}
.nur-chip--code {
	font-family: var(--nur-mono);
	background: rgba(var(--nur-accent-rgb), .11);
	border-color: rgba(var(--nur-accent-rgb), .3);
	color: #0F6640;
}

/* ------------------------------------------------------------ 11. SMS tool */
.nur-sms { display: grid; grid-template-columns: minmax(0, 1fr) 172px; gap: 20px; align-items: start; }
.nur-sms__form { display: grid; gap: 14px; }
.nur-sms__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.nur-sms__actions .nur-btn { flex: 1 1 auto; }
.nur-phone {
	border: 8px solid #16242F; border-radius: 24px;
	background: #16242F; box-shadow: var(--nur-shadow);
	overflow: hidden;
}
.nur-phone__screen { background: #E9EFF4; display: flex; flex-direction: column; height: 250px; }
.nur-phone__bar {
	display: flex; align-items: center; justify-content: space-between;
	background: var(--nur-primary); color: #fff;
	padding: 8px 10px; font-size: 12px; font-weight: 700;
}
.nur-phone__thread { flex: 1 1 auto; padding: 10px 8px; display: flex; flex-direction: column; gap: 7px; }
.nur-bubble {
	margin: 0; padding: 7px 10px; border-radius: 12px;
	font-size: 11.5px; font-family: var(--nur-mono);
	max-width: 92%; word-break: break-word; line-height: 1.4;
}
.nur-bubble--out { background: var(--nur-primary); color: #fff; align-self: flex-end; border-bottom-right-radius: 3px; }
.nur-bubble--in { background: #fff; color: var(--nur-ink); align-self: flex-start; border-bottom-left-radius: 3px; }
.nur-bubble--typing { display: flex; gap: 4px; padding: 10px; }
.nur-bubble--typing span {
	width: 6px; height: 6px; border-radius: 50%; background: var(--nur-muted);
	animation: nur-typing 1.3s infinite;
}
.nur-bubble--typing span:nth-child(2) { animation-delay: .18s; }
.nur-bubble--typing span:nth-child(3) { animation-delay: .36s; }
@keyframes nur-typing { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.nur-phone__input {
	display: flex; align-items: center; justify-content: space-between; gap: 6px;
	background: #fff; padding: 8px 10px; font-size: 11px;
	font-family: var(--nur-mono); color: var(--nur-muted);
	border-top: 1px solid var(--nur-line-soft);
}
.nur-phone__input span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.nur-smssec { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.nur-smssec__format {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); padding: 22px; box-shadow: var(--nur-shadow-sm);
}
.nur-smssec__label {
	font-size: 11px; font-weight: 800; letter-spacing: .14em;
	text-transform: uppercase; color: var(--nur-muted); margin: 0 0 12px;
}
.nur-formula { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; }
.nur-formula__part {
	font-family: var(--nur-mono); font-weight: 700; font-size: 17px;
	padding: 8px 12px; border-radius: var(--nur-r-sm);
	background: var(--nur-soft); border: 1px solid var(--nur-line);
	color: var(--nur-deep);
}
.nur-formula__part--code { background: rgba(var(--nur-accent-rgb), .12); border-color: rgba(var(--nur-accent-rgb), .35); color: #0F6640; }
.nur-formula__part--roll { background: #fff; border-style: dashed; }
.nur-formula__gap { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--nur-muted); }
.nur-smssec__send { display: flex; align-items: center; gap: 7px; font-size: 15px; margin: 0 0 8px; }
.nur-smssec__send .nur-i { color: var(--nur-accent); }
.nur-smssec__example { font-size: 14px; margin-bottom: 8px; }

/* ------------------------------------------------------- 12. Latest result */
.nur-latest { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 22px; align-items: start; }
.nur-latest__card {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r-lg); box-shadow: var(--nur-shadow-sm);
	overflow: hidden;
}
.nur-latest__head {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;
	padding: 20px 22px; border-bottom: 1px solid var(--nur-line-soft);
	background: linear-gradient(180deg, var(--nur-surface-2), var(--nur-surface));
	flex-wrap: wrap;
}
.nur-latest__exam { font-family: var(--nur-display); font-weight: 800; font-size: 19px; margin: 0; }
.nur-latest__session { font-size: 13px; color: var(--nur-muted); margin: 2px 0 0; }
.nur-latest__body { display: flex; gap: 24px; padding: 22px; align-items: flex-start; flex-wrap: wrap; }
.nur-latest__seal { flex: 0 0 auto; }
.nur-latest__text { flex: 1 1 260px; }
.nur-latest__date { display: flex; align-items: center; gap: 7px; font-size: 14px; color: var(--nur-muted); margin-bottom: 10px; }
.nur-latest__date .nur-i { color: var(--nur-accent); }
.nur-latest__date strong { color: var(--nur-ink); }
.nur-latest__side { display: grid; gap: 18px; }

.nur-status {
	display: inline-flex; align-items: center; gap: 7px; flex-wrap: wrap;
	padding: 5px 12px 5px 10px; border-radius: 999px;
	font-size: 12.5px; font-weight: 700;
	background: var(--nur-soft); border: 1px solid var(--nur-line);
	color: var(--nur-deep);
}
.nur-status__dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.nur-status__label { font-weight: 700; }
.nur-status__note { font-weight: 500; color: var(--nur-muted); font-size: 12px; }
.nur-status--live { background: rgba(var(--nur-accent-rgb), .1); border-color: rgba(var(--nur-accent-rgb), .32); color: var(--nur-good); }
.nur-status--live .nur-status__dot { animation: nur-pulse 2.2s infinite; }
.nur-status--warn { background: rgba(183, 121, 31, .1); border-color: rgba(183, 121, 31, .3); color: var(--nur-warn); }
.nur-status--info { background: rgba(var(--nur-primary-rgb), .09); border-color: rgba(var(--nur-primary-rgb), .26); color: var(--nur-primary); }
@keyframes nur-pulse {
	0% { box-shadow: 0 0 0 0 rgba(var(--nur-accent-rgb), .55); }
	70% { box-shadow: 0 0 0 8px rgba(var(--nur-accent-rgb), 0); }
	100% { box-shadow: 0 0 0 0 rgba(var(--nur-accent-rgb), 0); }
}

/* --------------------------------------------------------- 13. Data visuals */
.nur-donut { position: relative; width: var(--nur-donut-size, 168px); height: var(--nur-donut-size, 168px); margin: 0; }
.nur-donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.nur-donut__track { fill: none; stroke: var(--nur-line-soft); stroke-width: 11; }
.nur-donut__fill {
	fill: none; stroke: var(--nur-primary); stroke-width: 11; stroke-linecap: round;
	animation: nur-draw 1.1s cubic-bezier(.3, .9, .3, 1) both;
}
.nur-donut__ring { fill: none; stroke: var(--nur-accent); stroke-width: 1.2; stroke-dasharray: 2 5; opacity: .5; }
@keyframes nur-draw { from { stroke-dasharray: 0 999; } }
.nur-donut__center {
	position: absolute; inset: 0; display: flex; flex-direction: column;
	align-items: center; justify-content: center; text-align: center;
}
.nur-donut__num {
	font-family: var(--nur-display); font-weight: 800;
	font-size: calc(var(--nur-donut-size, 168px) * .21);
	letter-spacing: -.04em; color: var(--nur-deep);
	font-variant-numeric: tabular-nums; line-height: 1;
}
.nur-donut__num i { font-style: normal; font-size: .5em; color: var(--nur-accent); margin-left: 1px; }
.nur-donut__label {
	font-size: 10.5px; text-transform: uppercase; letter-spacing: .13em;
	font-weight: 800; color: var(--nur-muted); margin-top: 5px;
}

.nur-bars { display: grid; gap: 11px; }
.nur-bars__row { display: grid; grid-template-columns: 68px 1fr 56px; gap: 10px; align-items: center; }
.nur-bars__label { font-size: 12px; font-weight: 700; color: var(--nur-muted); font-variant-numeric: tabular-nums; }
.nur-bars__track { height: 9px; border-radius: 999px; background: var(--nur-line-soft); overflow: hidden; }
.nur-bars__fill {
	display: block; height: 100%; width: var(--w);
	background: linear-gradient(90deg, var(--nur-primary), #4E97D1);
	border-radius: 999px;
	animation: nur-grow 1s cubic-bezier(.3, .9, .3, 1) both;
}
@keyframes nur-grow { from { width: 0; } }
.nur-bars__val { font-size: 13px; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; color: var(--nur-deep); }
.nur-bars__note { grid-column: 2 / -1; font-size: 12px; color: var(--nur-muted); }

.nur-stats {
	display: grid;
	grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
	gap: 1px; background: var(--nur-line-soft);
	border: 1px solid var(--nur-line);
	border-radius: var(--nur-r);
	overflow: hidden;
	margin-top: 14px;
}
.nur-stat { background: var(--nur-surface); padding: 14px 15px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nur-stat__value { overflow-wrap: anywhere; }
.nur-stat__icon { color: var(--nur-accent); margin-bottom: 4px; }
.nur-stat__label { font-size: 11px; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; color: var(--nur-muted); }
.nur-stat__value {
	font-family: var(--nur-display); font-weight: 800; font-size: clamp(15px, 1.5vw, 20px);
	font-variant-numeric: tabular-nums; color: var(--nur-deep); line-height: 1.25;
}
.nur-stat__note { font-size: 12px; color: var(--nur-muted); }

.nur-panel {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); padding: 20px; box-shadow: var(--nur-shadow-sm);
}
.nur-panel__title {
	display: flex; align-items: center; gap: 8px;
	font-size: 15px; margin: 0 0 16px; color: var(--nur-deep);
}
.nur-panel__title .nur-i { color: var(--nur-accent); }
.nur-panel--notice { border-left: 3px solid var(--nur-accent); }
.nur-panel--warn { border-left: 3px solid var(--nur-warn); }
.nur-panel--trouble { margin-top: 22px; }
.nur-panel--seal { display: flex; justify-content: center; }

.nur-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.nur-ticks li { display: flex; gap: 9px; align-items: flex-start; font-size: 14.5px; line-height: 1.55; }
.nur-ticks .nur-i { color: var(--nur-good); margin-top: 3px; }
.nur-ticks--warn .nur-i { color: var(--nur-warn); }

/* ------------------------------------------------------------- 14. Overview */
.nur-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 330px); gap: clamp(20px, 3vw, 36px); align-items: start; }
.nur-overview__main { min-width: 0; }
.nur-overview__main .nur-table--facts {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); overflow: hidden; box-shadow: var(--nur-shadow-sm);
}
.nur-overview__main > .nur-btn { margin-top: 18px; }
.nur-overview__side { display: grid; gap: 18px; }

/* ---------------------------------------------------------------- 15. Table */
.nur-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 22px; }
.nur-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.nur-table th, .nur-table td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--nur-line-soft); vertical-align: top; }
.nur-table thead th {
	font-size: 11px; text-transform: uppercase; letter-spacing: .11em;
	font-weight: 800; color: var(--nur-muted); background: var(--nur-surface-2);
	border-bottom: 1px solid var(--nur-line);
}
.nur-table tbody tr:last-child th, .nur-table tbody tr:last-child td { border-bottom: 0; }
.nur-table--facts th { width: 38%; font-weight: 700; color: var(--nur-muted); font-size: 13.5px; }
.nur-table--facts td { font-weight: 600; }
.nur-table--compare,
.nur-table--grades,
.nur-table--reval {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); overflow: hidden;
}
.nur-table--compare td, .nur-table--grades td:nth-child(2), .nur-table--grades td:nth-child(3) { text-align: center; }
.nur-table--compare th[scope="row"] { font-weight: 600; }
.nur-yes, .nur-no { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; }
.nur-yes { background: rgba(var(--nur-accent-rgb), .12); color: var(--nur-good); }
.nur-no { background: rgba(192, 57, 43, .1); color: var(--nur-bad); }
.nur-grade {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; padding: 3px 9px; border-radius: 6px;
	font-family: var(--nur-mono); font-weight: 700; font-size: 13px;
	background: var(--nur-soft); color: var(--nur-deep);
	border: 1px solid var(--nur-line);
}
.nur-grade--ap, .nur-grade--a, .nur-grade--am {
	background: rgba(var(--nur-accent-rgb), .13); border-color: rgba(var(--nur-accent-rgb), .32); color: #0F6640;
}
.nur-grade--bp, .nur-grade--b, .nur-grade--bm {
	background: rgba(var(--nur-primary-rgb), .1); border-color: rgba(var(--nur-primary-rgb), .28); color: var(--nur-deep);
}
.nur-grade--cp, .nur-grade--c, .nur-grade--d {
	background: rgba(183, 121, 31, .1); border-color: rgba(183, 121, 31, .3); color: #8A5C13;
}
.nur-grade--f { background: rgba(192, 57, 43, .1); border-color: rgba(192, 57, 43, .3); color: #96271C; }
.nur-compare { margin-top: 28px; }
.nur-compare__title { font-size: 17px; margin-bottom: 14px; }

/* ----------------------------------------------------------- 16. Card grids */
.nur-cluster + .nur-cluster { margin-top: 34px; }
.nur-cluster__head { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.nur-cluster__icon {
	display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 10px; flex: 0 0 auto;
	background: var(--nur-soft); color: var(--nur-primary);
	border: 1px solid var(--nur-line);
}
.nur-cluster__title { font-size: 19px; margin: 0; }
.nur-cluster__desc { font-size: 13.5px; color: var(--nur-muted); margin: 2px 0 0; }
.nur-cluster__count {
	margin-left: auto; flex: 0 0 auto;
	font-size: 12px; font-weight: 800; color: var(--nur-muted);
	background: var(--nur-soft); border: 1px solid var(--nur-line);
	border-radius: 999px; padding: 3px 11px;
}
.nur-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 14px; }
.nur-card {
	position: relative;
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); padding: 16px 17px 15px;
	display: flex; flex-direction: column;
	transition: transform .18s ease, box-shadow .2s ease, border-color .2s ease;
}
.nur-card:hover { transform: translateY(-3px); box-shadow: var(--nur-shadow); border-color: rgba(var(--nur-primary-rgb), .38); }
.nur-card__link { position: absolute; inset: 0; z-index: 3; border-radius: var(--nur-r); }
.nur-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.nur-card__icon {
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 9px;
	background: var(--nur-soft); color: var(--nur-primary);
}
.nur-card__title { font-size: 15.5px; margin: 0 0 10px; line-height: 1.35; }
.nur-card__year { color: var(--nur-accent); font-variant-numeric: tabular-nums; }
.nur-card__meta { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 11px; }
.nur-card__meta div { display: flex; flex-direction: column; }
.nur-card__meta dt { font-size: 10.5px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; color: var(--nur-muted); }
.nur-card__meta dd { margin: 1px 0 0; font-size: 13.5px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--nur-deep); }
.nur-card__bar { height: 5px; border-radius: 999px; background: var(--nur-line-soft); overflow: hidden; margin-bottom: 12px; }
.nur-card__bar span {
	display: block; height: 100%; width: var(--w);
	background: linear-gradient(90deg, var(--nur-primary), var(--nur-accent));
	border-radius: 999px;
}
.nur-card__go {
	margin: auto 0 0; display: flex; align-items: center; gap: 6px;
	font-size: 12.5px; font-weight: 800; color: var(--nur-primary);
	text-transform: uppercase; letter-spacing: .06em;
}
.nur-card:hover .nur-card__go .nur-i { transform: translateX(3px); }
.nur-card__go .nur-i { transition: transform .18s ease; }

/* ------------------------------------------------------------- 17. How-to */
.nur-howto { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.nur-howto__col {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r-lg); padding: 22px; box-shadow: var(--nur-shadow-sm);
	position: relative; overflow: hidden;
}
.nur-howto__col::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
	background: var(--nur-primary);
}
.nur-howto__col--online::before { background: var(--nur-primary); }
.nur-howto__col--sms::before { background: var(--nur-accent); }
.nur-howto__head { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 18px; }
.nur-howto__icon {
	display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 10px; flex: 0 0 auto;
	background: var(--nur-soft); color: var(--nur-primary);
}
.nur-howto__col--sms .nur-howto__icon { background: rgba(var(--nur-accent-rgb), .11); color: var(--nur-accent); }
.nur-howto__head h3 { font-size: 18px; margin: 0; }
.nur-howto__head p { font-size: 13.5px; color: var(--nur-muted); margin: 3px 0 0; }

.nur-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.nur-steps__item { display: grid; grid-template-columns: 34px 1fr; gap: 13px; padding-bottom: 16px; position: relative; }
.nur-steps__item:last-child { padding-bottom: 0; }
.nur-steps__item::before {
	content: ""; position: absolute; left: 16px; top: 34px; bottom: 2px; width: 1.5px;
	background: linear-gradient(180deg, var(--nur-line), transparent);
}
.nur-steps__item:last-child::before { display: none; }
.nur-steps__num {
	display: flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 9px;
	background: var(--nur-soft); border: 1px solid var(--nur-line);
	font-family: var(--nur-mono); font-size: 12px; font-weight: 700;
	color: var(--nur-primary); font-variant-numeric: tabular-nums;
	position: relative; z-index: 1;
}
.nur-steps__body { min-width: 0; padding-top: 4px; }
.nur-steps__title { font-size: 15.5px; margin: 0 0 4px; }
.nur-steps__text { font-size: 14.5px; color: #35485A; margin: 0; line-height: 1.6; }

.nur-callout {
	display: flex; gap: 13px; align-items: flex-start;
	padding: 16px 18px; border-radius: var(--nur-r); margin-top: 22px;
	background: rgba(var(--nur-accent-rgb), .07);
	border: 1px solid rgba(var(--nur-accent-rgb), .22);
}
.nur-callout .nur-i { color: var(--nur-accent); margin-top: 2px; flex: 0 0 auto; }
.nur-callout div p:last-child { margin-bottom: 0; }
.nur-callout--info, .nur-callout--tip {
	background: rgba(var(--nur-primary-rgb), .07); border-color: rgba(var(--nur-primary-rgb), .22);
}
.nur-callout--info .nur-i, .nur-callout--tip .nur-i { color: var(--nur-primary); }

/* ------------------------------------------------------------- 18. CGPA */
.nur-cgpa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.nur-cgpa__steps { min-width: 0; }
.nur-cgpa__tools { display: grid; gap: 18px; min-width: 0; }

.nur-calc {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); padding: 20px; box-shadow: var(--nur-shadow-sm);
}
.nur-calc__head { margin-bottom: 16px; }
.nur-calc__head .nur-panel__title { margin-bottom: 4px; }
.nur-calc__rows { display: grid; gap: 8px; margin-bottom: 12px; }
.nur-calc__row { display: grid; grid-template-columns: minmax(0, 1fr) 74px 120px 38px; gap: 6px; align-items: center; }
.nur-calc__row .nur-input,
.nur-calc__row select { padding: 8px 10px; min-height: 40px; font-size: 13.5px; }
.nur-calc__name { min-width: 0; }
.nur-calc__credit { text-align: center; }
.nur-calc__grade { padding-right: 24px; }
.nur-calc__del {
	width: 38px; height: 40px; border: 1px solid #C8D8E6;
	background: #fff; border-radius: var(--nur-r-sm);
	color: var(--nur-bad); cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	font-size: 20px; line-height: 1; padding: 0;
	transition: background .15s ease, border-color .15s ease;
}
.nur-calc__del:hover { background: rgba(192, 57, 43, .09); border-color: rgba(192, 57, 43, .45); }
.nur-calc__del .nur-i { stroke-width: 2; }
.nur-calc__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.nur-calc__out {
	background: linear-gradient(140deg, var(--nur-deep), var(--nur-primary));
	border-radius: var(--nur-r); padding: 18px 20px; color: #fff;
}
.nur-calc__result { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.nur-calc__label { font-size: 11px; text-transform: uppercase; letter-spacing: .13em; font-weight: 800; color: rgba(255, 255, 255, .72); width: 100%; }
.nur-calc__value {
	font-family: var(--nur-display); font-weight: 800; font-size: 42px;
	letter-spacing: -.04em; font-variant-numeric: tabular-nums; line-height: 1;
}
.nur-calc__grade-out {
	font-family: var(--nur-mono); font-weight: 700; font-size: 15px;
	background: #fff; color: var(--nur-deep);
	padding: 3px 11px; border-radius: 999px;
}
.nur-calc__meta { display: flex; gap: 22px; margin: 14px 0 12px; }
.nur-calc__meta dt { font-size: 10.5px; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; color: rgba(255, 255, 255, .68); }
.nur-calc__meta dd { margin: 2px 0 0; font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.nur-calc__bar { height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .22); overflow: hidden; }
.nur-calc__bar span { display: block; height: 100%; width: var(--w); background: #fff; border-radius: 999px; transition: width .35s ease; }

/* ------------------------------------------------------- 19. Revaluation */
.nur-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 26px; }
.nur-fact {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); padding: 16px 18px;
	display: flex; flex-direction: column; gap: 3px;
}
.nur-fact__icon { color: var(--nur-accent); margin-bottom: 4px; }
.nur-fact__label { font-size: 11px; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; color: var(--nur-muted); }
.nur-fact__value { font-weight: 700; font-size: 15.5px; color: var(--nur-deep); }
.nur-fact--status { justify-content: center; align-items: flex-start; background: transparent; border-style: dashed; }
.nur-reval { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.nur-reval__steps { min-width: 0; }
.nur-reval__side { display: grid; gap: 18px; min-width: 0; }
.nur-paylist { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }
.nur-paylist li { display: grid; gap: 2px; padding-left: 14px; border-left: 2px solid var(--nur-line); }
.nur-paylist strong { font-size: 14.5px; color: var(--nur-deep); }
.nur-paylist span { font-size: 13.5px; color: var(--nur-muted); line-height: 1.55; }

/* ------------------------------------------------------------------ 20. FAQ */
.nur-faq { display: grid; gap: 10px; max-width: none; }
.nur-faq__item {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-radius: var(--nur-r); overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.nur-faq__item[open] { border-color: rgba(var(--nur-primary-rgb), .38); box-shadow: var(--nur-shadow-sm); }
.nur-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	padding: 16px 18px; cursor: pointer; list-style: none;
	font-family: var(--nur-display); font-weight: 700; font-size: 16px;
	color: var(--nur-deep);
}
.nur-faq__q::-webkit-details-marker { display: none; }
.nur-faq__chev { color: var(--nur-accent); transform: rotate(90deg); transition: transform .22s ease; flex: 0 0 auto; }
.nur-faq__item[open] .nur-faq__chev { transform: rotate(-90deg); }
.nur-faq__a { padding: 0 18px 18px; font-size: 15px; color: #35485A; }
.nur-faq__a p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------------ 21. TOC */
.nur-toc {
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	border-left: 3px solid var(--nur-accent);
	border-radius: var(--nur-r); padding: 18px 22px;
	max-width: none; margin-block: 8px 0;
}
.nur-toc:not(.nur-toc--side) .nur-toc__list { columns: 3 220px; column-gap: 30px; }
.nur-toc:not(.nur-toc--side) .nur-toc__list li { break-inside: avoid; }
.nur-toc--sticky { position: sticky; top: 84px; }
.nur-toc__title { display: flex; align-items: center; gap: 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; color: var(--nur-muted); margin: 0 0 12px; }
.nur-toc__title .nur-i { color: var(--nur-accent); }
.nur-toc__list { margin: 0; padding-left: 20px; display: grid; gap: 7px; }
.nur-toc__list li::marker { color: var(--nur-accent); font-weight: 700; font-size: 13px; }
.nur-toc__list a { font-size: 14.5px; font-weight: 600; color: var(--nur-deep); }
.nur-toc__list a:hover { color: var(--nur-primary); text-decoration: underline; text-underline-offset: 3px; }
.nur-toc__list a.is-current { color: var(--nur-primary); }

/* ------------------------------------------------------------ 22. Misc bits */
.nur-noticebar {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	padding: 15px 18px; border-radius: var(--nur-r);
	background: rgba(var(--nur-primary-rgb), .08); border: 1px solid rgba(var(--nur-primary-rgb), .24);
}
.nur-noticebar__icon { color: var(--nur-primary); }
.nur-noticebar__text { flex: 1 1 260px; font-size: 14.5px; }
.nur-noticebar__text p:last-child { margin-bottom: 0; }
.nur-noticebar--success { background: rgba(var(--nur-accent-rgb), .08); border-color: rgba(var(--nur-accent-rgb), .26); }
.nur-noticebar--success .nur-noticebar__icon { color: var(--nur-good); }
.nur-noticebar--warn { background: rgba(183, 121, 31, .1); border-color: rgba(183, 121, 31, .3); }
.nur-noticebar--warn .nur-noticebar__icon { color: var(--nur-warn); }
.nur-noticebar--live { background: rgba(var(--nur-accent-rgb), .11); border-color: rgba(var(--nur-accent-rgb), .32); }
.nur-noticebar--live .nur-noticebar__icon { color: var(--nur-accent); }

.nur-timeline { list-style: none; margin: 0; padding: 0 0 0 26px; position: relative; }
.nur-timeline::before { content: ""; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; background: var(--nur-line); }
.nur-timeline__item { position: relative; padding-bottom: 24px; }
.nur-timeline__dot {
	position: absolute; left: -26px; top: 5px; width: 16px; height: 16px;
	border-radius: 50%; background: var(--nur-surface);
	border: 3px solid var(--nur-line);
}
.nur-timeline__item.is-done .nur-timeline__dot { border-color: var(--nur-good); background: var(--nur-good); }
.nur-timeline__item.is-now .nur-timeline__dot { border-color: var(--nur-primary); background: var(--nur-primary); animation: nur-pulse 2.2s infinite; }
.nur-timeline__date { font-size: 11.5px; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; color: var(--nur-accent); margin: 0; }
.nur-timeline__title { font-size: 16px; margin: 3px 0 4px; }
.nur-timeline__text { font-size: 14.5px; color: var(--nur-muted); margin: 0; }

.nur-downloads { list-style: none; margin: 0; padding: 0; display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.nur-downloads a {
	display: flex; align-items: center; gap: 13px;
	padding: 14px 16px; border-radius: var(--nur-r);
	background: var(--nur-surface); border: 1px solid var(--nur-line);
	transition: border-color .18s ease, transform .18s ease;
}
.nur-downloads a:hover { border-color: var(--nur-primary); transform: translateX(3px); }
.nur-downloads__icon { color: var(--nur-accent); }
.nur-downloads__body { flex: 1 1 auto; display: flex; flex-direction: column; }
.nur-downloads__body strong { font-size: 15px; color: var(--nur-deep); }
.nur-downloads__body span { font-size: 12.5px; color: var(--nur-muted); }

.nur-ad { padding-block: 18px; text-align: center; }
.nur-ad__label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: var(--nur-muted); margin-bottom: 6px; }

/* --------------------------------------------------------------- 23. Footer */
.nur-footer { background: var(--nur-deep); color: rgba(255, 255, 255, .82); padding-block: 44px 0; margin-top: 12px; }
.nur-footer__top { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 36px; padding-bottom: 34px; }
.nur-footer__about p { font-size: 14px; line-height: 1.65; margin: 14px 0 0; color: rgba(255, 255, 255, .7); }
.nur-brand--footer { display: inline-flex; }
.nur-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 24px; }
.nur-footer__col h3 {
	font-size: 11px; text-transform: uppercase; letter-spacing: .14em;
	color: #A8CDEA; margin: 0 0 12px;
}
.nur-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nur-footer__col a { color: rgba(255, 255, 255, .78); font-size: 13.5px; display: inline-flex; align-items: center; gap: 5px; }
.nur-footer__col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.nur-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .16);
	padding-block: 18px 24px;
	display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
}
.nur-footer__credit, .nur-footer__disclaimer { margin: 0; font-size: 12.5px; color: rgba(255, 255, 255, .62); }
.nur-footer__disclaimer { display: flex; align-items: center; gap: 6px; }

/* ---------------------------------------------------- 24. Mobile app chrome */
.nur-tabbar { display: none; }
.nur-drawer { position: fixed; inset: 0; z-index: 90; }
.nur-drawer[hidden] { display: none; }
.nur-drawer__scrim { position: absolute; inset: 0; background: rgba(20, 33, 43, .5); backdrop-filter: blur(2px); animation: nur-fade .2s ease both; }
.nur-drawer__panel {
	position: absolute; right: 0; top: 0; bottom: 0;
	width: min(380px, 88vw); background: var(--nur-bg);
	display: flex; flex-direction: column;
	box-shadow: var(--nur-shadow-lg);
	animation: nur-slide .26s cubic-bezier(.2, .8, .3, 1) both;
}
@keyframes nur-fade { from { opacity: 0; } }
@keyframes nur-slide { from { transform: translateX(100%); } }
.nur-drawer__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 18px; background: var(--nur-primary); color: #fff;
}
.nur-drawer__title { font-family: var(--nur-display); font-weight: 800; font-size: 17px; }
.nur-drawer__close { background: rgba(255, 255, 255, .18); border: 0; color: #fff; width: 38px; height: 38px; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.nur-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: 18px; overscroll-behavior: contain; }
.nur-drawer__group + .nur-drawer__group { margin-top: 22px; }
.nur-drawer__group h3 {
	display: flex; align-items: center; gap: 7px;
	font-size: 11px; text-transform: uppercase; letter-spacing: .13em;
	color: var(--nur-muted); margin: 0 0 9px;
}
.nur-drawer__group h3 .nur-i { color: var(--nur-accent); }
.nur-drawer__group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.nur-drawer__group a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 12px 14px; border-radius: var(--nur-r-sm);
	background: var(--nur-surface); border: 1px solid var(--nur-line-soft);
	font-size: 14.5px; font-weight: 600; color: var(--nur-ink);
}
.nur-drawer__group a:hover { border-color: var(--nur-primary); }
.nur-drawer__group a .nur-i { color: var(--nur-muted); }

.nur-totop {
	position: fixed; right: 16px; bottom: 20px; z-index: 70;
	width: 46px; height: 46px; border-radius: 50%;
	background: var(--nur-deep); color: #fff; border: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: var(--nur-shadow);
	animation: nur-fade .2s ease both;
}
.nur-totop[hidden] { display: none; }

.nur-toast {
	position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%);
	z-index: 120; background: var(--nur-ink); color: #fff;
	padding: 11px 20px; border-radius: 999px;
	font-size: 14px; font-weight: 600; box-shadow: var(--nur-shadow-lg);
	animation: nur-toast .25s cubic-bezier(.2, .9, .3, 1.2) both;
	max-width: calc(100vw - 32px); text-align: center;
}
.nur-toast[hidden] { display: none; }
@keyframes nur-toast { from { opacity: 0; transform: translate(-50%, 14px); } }

/* -------------------------------------------------------- 25. Scroll reveal */
.nur-anim { opacity: 0; transform: translateY(14px); }
.nur-anim.is-in { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s cubic-bezier(.2, .8, .3, 1); }

/* ---------------------------------------------------------- 26. Breakpoints */
@media (max-width: 1080px) {
	.nur-latest, .nur-overview, .nur-cgpa, .nur-reval, .nur-smssec { grid-template-columns: 1fr; }
	.nur-footer__top { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 900px) {
	.nur-nav { display: none; }
	.nur-burger { display: flex; }
	.nur-brand__tag { display: none; }
}

@media (max-width: 720px) {
	:root { --nur-gutter: 16px; }
	.nur-sec { padding-block: 34px; }
	.nur-form__grid { grid-template-columns: 1fr; gap: 14px; }
	.nur-btn--lg { width: 100%; }
	.nur-sms { grid-template-columns: 1fr; }
	.nur-phone { max-width: 220px; margin-inline: auto; }
	.nur-tab { flex-direction: column; gap: 3px; padding: 10px 4px; font-size: 12px; }
	.nur-field-row { grid-template-columns: 1fr; }
	.nur-calc__row { grid-template-columns: minmax(0, 1fr) 60px 100px 36px; gap: 5px; }
	.nur-cards { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 11px; }
	.nur-stats { grid-template-columns: repeat(2, 1fr); }
	.nur-table th, .nur-table td { padding: 10px 12px; font-size: 13.5px; }
	.nur-toc { max-width: none; }
	.nur-toc--sticky { position: static; }
	.nur-donut { --nur-donut-size: 140px !important; }
	.nur-footer { padding-bottom: 76px; }
	.nur-totop { bottom: 84px; }
	.nur-toast { bottom: 84px; }

	.nur-tabbar {
		display: grid; grid-template-columns: repeat(5, 1fr);
		position: fixed; inset: auto 0 0 0; z-index: 80;
		background: rgba(255, 255, 255, .96);
		backdrop-filter: saturate(180%) blur(12px);
		border-top: 1px solid var(--nur-line);
		padding-bottom: env(safe-area-inset-bottom);
		box-shadow: 0 -4px 20px rgba(27, 86, 135, .1);
	}
	.nur-tabbar__item {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
		padding: 8px 2px 7px; background: none; border: 0; cursor: pointer;
		font-family: inherit; font-size: 10px; font-weight: 700;
		color: var(--nur-muted); min-height: 56px;
	}
	.nur-tabbar__item.is-active { color: var(--nur-primary); }
	.nur-tabbar__item--center { position: relative; }
	.nur-tabbar__fab {
		display: flex; align-items: center; justify-content: center;
		width: 44px; height: 44px; border-radius: 50%; margin-top: -20px;
		background: var(--nur-accent); color: #fff;
		box-shadow: 0 4px 14px rgba(var(--nur-accent-rgb), .42);
		border: 3px solid var(--nur-bg);
	}
}

@media (max-width: 420px) {
	.nur-cards { grid-template-columns: 1fr; }
	.nur-calc__row { grid-template-columns: minmax(0, 1fr) 54px 88px 34px; }
	.nur-checker__trust { gap: 8px 16px; }
	.nur-checker__trust li { font-size: 12.5px; }
}

/* ---------------------------------------------------- 27. Motion + printing */
@media (prefers-reduced-motion: reduce) {
	.nur-app *, .nur-app *::before, .nur-app *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
	.nur-anim { opacity: 1; transform: none; }
}

@media print {
	.nur-header, .nur-tabbar, .nur-drawer, .nur-totop, .nur-ad, .nur-checker__tabs, .nur-progress { display: none !important; }
	.nur-app { background: #fff; }
	.nur-sec { padding-block: 14px; break-inside: avoid; }
	.nur-card, .nur-panel { break-inside: avoid; }
}

/* SMS builder status line and wrapper */
.nur-sms__status {
	display: block; margin: 10px 0 0;
	font-size: 12.5px; color: var(--nur-muted); min-height: 1em;
}
.nur-smssec__builder { min-width: 0; }
.nur-sms__wrap { min-width: 0; }


/* ------------------------------------------- 28. Layout additions (v1.2) */

/* Stacked checker, as on the official latest-result form */
.nur-form--stack { display: grid; gap: 14px; max-width: 620px; margin-inline: auto; }
.nur-form--stack .nur-btn { margin-top: 2px; }

/* Contents list when it sits beside another section */
.nur-toc--side {
	max-width: none; margin: 0;
	position: sticky; top: 84px;
}
.nur-toc--side .nur-toc__title { font-size: 12px; }

/* The official notice, published as an image */
.nur-notice-img {
	margin: 0; background: var(--nur-surface);
	border: 1px solid var(--nur-line); border-radius: var(--nur-r);
	overflow: hidden; box-shadow: var(--nur-shadow-sm);
}
.nur-notice-img img { width: 100%; height: auto; display: block; }
.nur-notice-img figcaption {
	padding: 10px 14px; font-size: 12.5px; color: var(--nur-muted);
	border-top: 1px solid var(--nur-line-soft); line-height: 1.5;
}

/* Grading scale reads as two shorter tables rather than one tall one */
.nur-panel--scale { margin-top: clamp(20px, 3vw, 30px); }
.nur-grade-cols {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
}
.nur-grade-cols .nur-table--grades { border: 0; border-radius: 0; background: transparent; }
.nur-grade-cols .nur-table--grades + .nur-table--grades { border-left: 1px solid var(--nur-line-soft); }
.nur-grade-cols .nur-table--grades + .nur-table--grades th,
.nur-grade-cols .nur-table--grades + .nur-table--grades td { padding-left: 24px; }
.nur-grade-cols .nur-table--grades { margin: 0; }

/* Buttons sit where the space allows */
.nur-form__actions .nur-btn { min-width: 220px; }
.nur-btnrow { justify-content: flex-start; }
.nur-btnrow .nur-btn { min-width: 190px; }
.nur-callout .nur-btnrow { margin-top: 12px; }

@media (max-width: 980px) {
	.nur-checker__intro { grid-template-columns: 1fr; }
	.nur-toc--side { position: static; }
	.nur-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 560px) {
	.nur-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.nur-form__actions .nur-btn,
	.nur-btnrow .nur-btn { width: 100%; min-width: 0; }
	.nur-grade-cols { grid-template-columns: 1fr; gap: 0; }
	.nur-grade-cols .nur-table--grades + .nur-table--grades { border-left: 0; border-top: 1px solid var(--nur-line-soft); }
	.nur-grade-cols .nur-table--grades + .nur-table--grades th,
	.nur-grade-cols .nur-table--grades + .nur-table--grades td { padding-left: 16px; }
}

/* ------------------------------------------ 29. Live archive lookup (v1.4) */

.nur-field--wide { grid-column: 1 / -1; }

/* The university's arithmetic question, passed through to the visitor */
.nur-captcha {
	display: flex; align-items: center; justify-content: center;
	flex-wrap: wrap; gap: 12px;
	margin-top: 20px; padding: 16px 18px;
	background: var(--nur-surface-2);
	border: 1px dashed var(--nur-line);
	border-radius: var(--nur-r);
}
.nur-captcha__ask { display: flex; align-items: center; gap: 10px; }
.nur-captcha__label {
	font-size: 11px; font-weight: 800; letter-spacing: .1em;
	text-transform: uppercase; color: var(--nur-muted);
}
.nur-captcha__q {
	font-family: var(--nur-mono); font-size: 21px; font-weight: 700;
	color: var(--nur-deep); letter-spacing: .04em;
	font-variant-numeric: tabular-nums;
}
.nur-captcha__input {
	width: 84px !important; text-align: center;
	font-family: var(--nur-mono); font-size: 18px; font-weight: 700;
}
.nur-captcha__reload {
	width: 44px; height: 46px; flex: 0 0 auto;
	display: flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid #C8D8E6; border-radius: var(--nur-r-sm);
	color: var(--nur-primary); cursor: pointer;
	transition: background .15s ease, transform .3s ease;
}
.nur-captcha__reload:hover { background: var(--nur-soft); }
.nur-captcha__reload:active { transform: rotate(-180deg); }

/* What comes back */
.nur-live__out { margin-top: 24px; }
.nur-live__card {
	background: var(--nur-surface);
	border: 1px solid var(--nur-line);
	border-top: 4px solid var(--nur-accent);
	border-radius: var(--nur-r-lg);
	box-shadow: var(--nur-shadow);
	overflow: hidden;
	animation: nur-stamp .4s cubic-bezier(.2, .9, .3, 1.2) both;
}
@keyframes nur-stamp {
	from { opacity: 0; transform: translateY(12px) scale(.99); }
	to { opacity: 1; transform: none; }
}
.nur-live__head {
	display: flex; align-items: flex-start; justify-content: space-between;
	gap: 14px; flex-wrap: wrap;
	padding: 18px 22px; border-bottom: 1px solid var(--nur-line-soft);
	background: linear-gradient(180deg, var(--nur-surface-2), var(--nur-surface));
}
.nur-live__eyebrow {
	font-size: 10.5px; font-weight: 800; letter-spacing: .14em;
	text-transform: uppercase; color: var(--nur-muted); margin: 0 0 3px;
}
.nur-live__title { font-size: 18px; margin: 0; color: var(--nur-deep); }
.nur-live__badge {
	flex: 0 0 auto; align-self: center;
	font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
	background: rgba(var(--nur-accent-rgb), .1);
	border: 1px solid rgba(var(--nur-accent-rgb), .3);
	color: var(--nur-accent);
	border-radius: 999px; padding: 4px 12px;
}

/* The official markup arrives stripped of its own styling, so it takes ours. */
.nur-live__body { padding: 20px 22px; overflow-x: auto; }
.nur-live__body table {
	width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 0 0 16px;
}
.nur-live__body table:last-child { margin-bottom: 0; }
.nur-live__body th,
.nur-live__body td {
	text-align: left; padding: 10px 14px;
	border-bottom: 1px solid var(--nur-line-soft); vertical-align: top;
}
.nur-live__body th {
	font-weight: 700; color: var(--nur-muted);
	font-size: 12.5px; white-space: nowrap;
}
.nur-live__body tr:last-child th,
.nur-live__body tr:last-child td { border-bottom: 0; }
.nur-live__body h1,
.nur-live__body h2,
.nur-live__body h3,
.nur-live__body h4 { font-size: 16px; margin: 18px 0 10px; color: var(--nur-deep); }
.nur-live__body h1:first-child,
.nur-live__body h2:first-child,
.nur-live__body h3:first-child { margin-top: 0; }
.nur-live__body p { margin: 0 0 10px; font-size: 14.5px; }
.nur-live__body img { max-width: 120px; height: auto; margin: 0 0 12px; }
.nur-live__body ul,
.nur-live__body ol { font-size: 14.5px; }

.nur-live__foot {
	display: flex; flex-wrap: wrap; gap: 8px;
	padding: 14px 22px 18px; border-top: 1px solid var(--nur-line-soft);
	background: var(--nur-surface-2);
}

@media (max-width: 560px) {
	.nur-captcha { flex-direction: column; align-items: stretch; text-align: center; }
	.nur-captcha__ask { justify-content: center; }
	.nur-captcha__input { width: 100% !important; }
	.nur-captcha__reload { width: 100%; }
	.nur-live__foot .nur-btn { width: 100%; }
}

@media print {
	.nur-live__foot, .nur-checker__tabs, .nur-live form { display: none !important; }
	.nur-live__card { border: 1px solid #999; box-shadow: none; }
}

/* ------------------------------------------- 30. The result sheet (v1.5) */

.nur-checker__tabs { grid-template-columns: repeat(var(--tabs, 3), minmax(0, 1fr)); }
.nur-checker__glider { width: calc(100% / var(--tabs, 3)); }

.nur-sheet {
	background: #fff;
	border: 1px solid #D6E2EC;
	border-radius: var(--nur-r);
	overflow: hidden;
	color: #16222C;
	animation: nur-stamp .4s cubic-bezier(.2, .9, .3, 1.2) both;
}
.nur-sheet--raw { padding: 20px; }

.nur-sheet__top {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	padding: 20px 24px 18px;
	border-bottom: 3px solid var(--nur-primary);
}
.nur-sheet__logo { width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; }
.nur-sheet__titles { flex: 1 1 240px; min-width: 0; }
.nur-sheet__uni {
	font-family: var(--nur-display); font-weight: 800; font-size: 19px;
	color: var(--nur-primary); margin: 0; letter-spacing: -.015em;
}
.nur-sheet__exam { font-size: 13.5px; font-weight: 700; color: #3B4C5A; margin: 3px 0 0; }
.nur-sheet__tag {
	flex: 0 0 auto;
	font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
	color: var(--nur-primary);
	border: 1.5px solid var(--nur-primary);
	border-radius: 999px; padding: 6px 16px;
}

.nur-sheet__info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 0; margin: 0; padding: 0;
	border-bottom: 1px solid #E4ECF3;
}
.nur-sheet__row {
	padding: 12px 24px;
	border-bottom: 1px solid #EDF2F7;
	min-width: 0;
}
.nur-sheet__row.is-name { grid-column: 1 / -1; }
.nur-sheet__info dt {
	font-size: 11px; font-weight: 700; letter-spacing: .06em;
	text-transform: uppercase; color: #7C8B99; margin: 0 0 4px;
}
.nur-sheet__info dd {
	margin: 0; font-size: 15.5px; font-weight: 700; color: #16222C;
	overflow-wrap: anywhere;
}
.nur-sheet__row.is-name dd { font-size: 18px; letter-spacing: -.01em; }

.nur-sheet__digits { display: flex; flex-wrap: wrap; gap: 4px; }
.nur-sheet__digits b {
	display: flex; align-items: center; justify-content: center;
	width: 24px; height: 26px; border-radius: 5px;
	border: 1px solid #C6D6E3; background: #F5F9FC;
	font-family: var(--nur-mono); font-size: 14px; font-weight: 700;
	color: var(--nur-deep);
}

.nur-sheet__verdict {
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	margin: 22px auto; padding: 16px 40px; width: fit-content;
	border: 1px solid #D6E2EC; border-radius: var(--nur-r);
	background: #FBFDFE;
}
.nur-sheet__verdict span {
	font-size: 10.5px; font-weight: 800; letter-spacing: .16em;
	text-transform: uppercase; color: #7C8B99;
}
.nur-sheet__verdict strong {
	font-family: var(--nur-display); font-size: 26px; font-weight: 800;
	letter-spacing: -.02em; color: #16222C;
}
.nur-sheet__verdict--good { border-color: rgba(var(--nur-accent-rgb), .4); background: rgba(var(--nur-accent-rgb), .05); }
.nur-sheet__verdict--good strong { color: var(--nur-accent); }
.nur-sheet__verdict--bad { border-color: rgba(192, 57, 43, .35); background: rgba(192, 57, 43, .05); }
.nur-sheet__verdict--bad strong { color: var(--nur-bad); }

.nur-sheet__ctitle {
	font-size: 14px; color: var(--nur-primary);
	margin: 0 24px 12px; padding-top: 4px;
}
.nur-sheet__tablewrap { padding: 0 24px 8px; overflow-x: auto; }
.nur-sheet__courses {
	width: 100%; border-collapse: collapse; font-size: 14px;
	border: 1px solid #D6E2EC;
}
.nur-sheet__courses th {
	background: #EDF4FA; color: #33475A;
	font-size: 12px; font-weight: 800; text-align: center;
	padding: 10px 12px; border: 1px solid #D6E2EC;
}
.nur-sheet__courses td {
	padding: 9px 12px; border: 1px solid #E4ECF3; text-align: center;
	font-variant-numeric: tabular-nums;
}
.nur-sheet__courses td:nth-child(2) { text-align: left; }
.nur-sheet__courses tbody tr:nth-child(odd) { background: #FAFCFE; }
.nur-sheet__code { font-family: var(--nur-mono); font-weight: 700; color: var(--nur-primary); }

.nur-sheet__foot {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 20px; flex-wrap: wrap;
	padding: 22px 24px 20px; margin-top: 8px;
	border-top: 1px solid #E4ECF3;
}
.nur-sheet__sign {
	margin-left: auto; text-align: center; display: flex; flex-direction: column;
	font-size: 12.5px; color: #33475A; line-height: 1.5;
}
.nur-sheet__sign strong { font-size: 13px; }
.nur-sheet__origin { font-size: 11.5px; color: #7C8B99; margin: 0; order: -1; }
.nur-sheet__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

@media (max-width: 560px) {
	.nur-sheet__info { grid-template-columns: 1fr; }
	.nur-sheet__row { padding: 11px 16px; }
	.nur-sheet__top, .nur-sheet__foot { padding-inline: 16px; }
	.nur-sheet__ctitle { margin-inline: 16px; }
	.nur-sheet__tablewrap { padding-inline: 16px; }
	.nur-sheet__verdict { width: auto; margin-inline: 16px; }
	.nur-sheet__actions .nur-btn { width: 100%; }
	.nur-sheet__digits b { width: 21px; height: 24px; font-size: 13px; }
}

@media print {
	.nur-sheet__actions { display: none !important; }
	.nur-sheet { border: 1px solid #999; }
}

/* --------------------------------------- 31. Admission procedures (v1.8) */
.nur-proc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
}
.nur-proc__main { min-width: 0; }
.nur-proc__side { display: grid; gap: 16px; min-width: 0; }
.nur-proc__facts { margin: 0; display: grid; gap: 12px; }
.nur-proc__facts > div { display: grid; gap: 2px; }
.nur-proc__facts dt {
	display: flex; align-items: center; gap: 7px;
	font-size: 11px; font-weight: 800; letter-spacing: .09em;
	text-transform: uppercase; color: var(--nur-muted); margin: 0;
}
.nur-proc__facts dt .nur-i { color: var(--nur-accent); }
.nur-proc__facts dd {
	margin: 0 0 0 22px; font-size: 15px; font-weight: 700; color: var(--nur-deep);
}
@media (max-width: 980px) {
	.nur-proc { grid-template-columns: 1fr; }
}

/* Everything the official sheet carried, kept */
.nur-sheet__extra {
	list-style: none; margin: 0; padding: 14px 24px 0;
	display: grid; gap: 4px;
	font-size: 12.5px; color: var(--nur-muted);
}
.nur-sheet__qr { margin: 0; text-align: center; flex: 0 0 auto; }
.nur-sheet__qr img {
	width: 92px; height: 92px; display: block;
	border: 1px solid #D6E2EC; border-radius: 6px; padding: 4px; background: #fff;
}
.nur-sheet__qr figcaption {
	font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase;
	color: var(--nur-muted); margin-top: 5px;
}
.nur-sheet__foot { align-items: center; }
@media (max-width: 560px) {
	.nur-sheet__extra { padding-inline: 16px; }
	.nur-sheet__qr img { width: 76px; height: 76px; }
}

/* The whole page, when the parser could not do better than it */
.nur-sheet__raw { padding: 20px 24px 24px; overflow-x: auto; }
.nur-sheet__raw table {
	width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 0 0 16px;
	border: 1px solid #D6E2EC;
}
.nur-sheet__raw th, .nur-sheet__raw td {
	padding: 10px 14px; border: 1px solid #E4ECF3; vertical-align: top; text-align: left;
}
.nur-sheet__raw th { background: #EDF4FA; color: #33475A; font-weight: 700; font-size: 13px; }
.nur-sheet__raw tr:nth-child(odd) td { background: #FAFCFE; }
.nur-sheet__raw h1, .nur-sheet__raw h2, .nur-sheet__raw h3, .nur-sheet__raw h4 {
	font-size: 16px; margin: 18px 0 10px; color: var(--nur-deep);
}
.nur-sheet__raw h1:first-child, .nur-sheet__raw h2:first-child, .nur-sheet__raw h3:first-child { margin-top: 0; }
.nur-sheet__raw p { margin: 0 0 10px; font-size: 14.5px; }
.nur-sheet__raw img { max-width: 110px; height: auto; margin: 10px 0; }
.nur-sheet__raw ul, .nur-sheet__raw ol { font-size: 14.5px; }
@media (max-width: 560px) { .nur-sheet__raw { padding-inline: 16px; } }


/* -------------------------------------- 32. Long prose fills its row (v2.0) */

/*
 * A paragraph block that is given 1140px and told to stop at 840 leaves a
 * third of the row empty. These blocks take the width they are given; the
 * reading line is kept sane by splitting into columns once there is room for
 * two comfortable ones.
 */
.nur-prose--wide > p,
.nur-sec__intro > p { max-width: none; }

@media (min-width: 1000px) {
	.nur-prose--wide.nur-prose--flow {
		columns: 2;
		column-gap: 44px;
	}
	.nur-prose--wide.nur-prose--flow > p { break-inside: avoid; margin-bottom: 1.1em; }
	.nur-prose--wide.nur-prose--flow > h3 { column-span: all; }
}
