/*
 * IEHES Integración · admisión y verificación
 * Pantalla de éxito, carta descargable y consulta pública.
 */

body[data-di-view="success"],
body[data-di-view="verification"] { background: #020b19; }

body[data-di-view="success"] .iehes-site-header,
body[data-di-view="verification"] .iehes-site-header {
	background: rgba(2, 10, 22, .9);
	border-bottom: 1px solid rgba(61, 173, 255, .12);
	backdrop-filter: blur(22px) saturate(140%);
	-webkit-backdrop-filter: blur(22px) saturate(140%);
}

.di-home-verify {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 21px;
	padding: 8px 12px;
	border: 0;
	background: transparent;
	color: #8fc5e5;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	cursor: pointer;
	transition: color .2s ease, transform .2s ease;
}

.di-home-verify:hover,
.di-home-verify:focus-visible { color: #fff; transform: translateY(-1px); }
.di-home-verify svg { width: 18px; height: 18px; fill: none; stroke: #5ccfff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

/* Success experience */
.di-admission-success {
	position: relative;
	min-height: calc(100vh - 120px);
	overflow: hidden;
	padding: 72px 0 118px;
	background:
		radial-gradient(circle at 86% 7%, rgba(20, 139, 244, .17), transparent 27%),
		radial-gradient(circle at 5% 54%, rgba(0, 185, 255, .08), transparent 24%),
		linear-gradient(145deg, #020a17, #04162e 58%, #020b19);
	color: #f7fbff;
}
.di-admission-success::before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(rgba(81, 180, 240, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(81, 180, 240, .035) 1px, transparent 1px); background-size: 74px 74px; mask-image: linear-gradient(to bottom, #000, transparent 72%); pointer-events: none; }
.di-admission-success::after { content: ""; position: absolute; width: 560px; height: 560px; top: -315px; right: -120px; border: 1px solid rgba(88, 195, 255, .1); border-radius: 50%; box-shadow: 0 0 0 74px rgba(88, 195, 255, .025), 0 0 0 148px rgba(88, 195, 255, .014); pointer-events: none; }
.di-admission-success .di-success-shell { position: relative; z-index: 1; width: min(1460px, calc(100% - 80px)); }

.di-admission-celebration { display: flex; flex-direction: column; align-items: center; gap: 28px; max-width: 1220px; margin-inline: auto; text-align: center; animation: di-admission-rise .7s cubic-bezier(.2, .8, .2, 1) both; }
.di-admission-emblem { position: relative; width: 132px; height: 132px; display: grid; place-items: center; }
.di-admission-emblem > i { position: absolute; inset: 0; border: 1px solid rgba(70, 199, 255, .22); border-radius: 50%; }
.di-admission-emblem > i:nth-child(1) { inset: 10px; border-style: dashed; animation: di-admission-orbit 18s linear infinite; }
.di-admission-emblem > i:nth-child(2) { inset: 25px; border-color: rgba(70, 199, 255, .16); box-shadow: 0 0 58px rgba(21, 151, 246, .2); }
.di-admission-emblem > span { position: relative; width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid rgba(91, 210, 255, .62); border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(26, 151, 237, .7), rgba(5, 47, 91, .93)); box-shadow: inset 0 1px rgba(255, 255, 255, .16), 0 18px 48px rgba(0, 82, 158, .4); }
.di-admission-emblem svg { width: 38px; height: 38px; fill: none; stroke: #9ae7ff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; stroke-dasharray: 30; stroke-dashoffset: 30; animation: di-admission-check .65s .24s ease forwards; }
.di-admission-eyebrow { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 18px; color: #92e0ff; font-size: 12px; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }
.di-admission-eyebrow span { display: inline-flex; align-items: center; gap: 9px; }
.di-admission-eyebrow span i { width: 7px; height: 7px; border-radius: 50%; background: #55dcad; box-shadow: 0 0 14px rgba(85, 220, 173, .72); }
.di-admission-eyebrow b { padding-left: 13px; border-left: 1px solid rgba(116, 201, 246, .28); color: #a4bad0; font-weight: 620; }
.di-admission-celebration h2 { max-width: 1120px; margin: 0; color: #f7fbff; font-size: clamp(58px, 5vw, 82px); font-weight: 830; letter-spacing: -.058em; line-height: .96; text-wrap: balance; }
.di-admission-celebration h2 em { background: linear-gradient(110deg, #d9edf9, #79d5ff 54%, #1998f4); background-clip: text; -webkit-background-clip: text; color: transparent; font-style: normal; }
.di-admission-celebration__copy > p:last-child { max-width: 900px; margin: 25px auto 0; color: #c4d5e3; font-size: 18px; line-height: 1.6; }

.di-admission-proofbar { display: grid; grid-template-columns: repeat(3, 1fr); margin: 52px 0 26px; overflow: hidden; border: 1px solid rgba(73, 177, 241, .24); border-radius: 22px; background: linear-gradient(90deg, rgba(8, 35, 67, .8), rgba(4, 24, 48, .74)); box-shadow: inset 0 1px rgba(255, 255, 255, .035); animation: di-admission-rise .7s .08s cubic-bezier(.2, .8, .2, 1) both; }
.di-admission-proofbar > div { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 24px 30px; }
.di-admission-proofbar > div + div { border-left: 1px solid rgba(73, 177, 241, .2); }
.di-admission-proofbar > div > span { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 50px; border: 1px solid rgba(81, 213, 171, .34); border-radius: 15px; background: rgba(31, 167, 124, .14); color: #79e4c0; }
.di-admission-proofbar svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.di-admission-proofbar p,
.di-admission-proofbar small,
.di-admission-proofbar strong { display: block; margin: 0; }
.di-admission-proofbar small { margin-bottom: 5px; color: #9bb1c5; font-size: 11px; font-weight: 680; letter-spacing: .07em; text-transform: uppercase; }
.di-admission-proofbar strong { color: #f2faff; font-size: 17px; font-weight: 740; }

.di-success-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(410px, .8fr); gap: 26px; align-items: stretch; }
.di-admission-card,
.di-access-card { position: relative; overflow: hidden; border: 1px solid rgba(72, 179, 245, .34); border-radius: 32px; background: linear-gradient(152deg, rgba(8, 39, 76, .98), rgba(3, 18, 37, .995)); box-shadow: 0 32px 100px rgba(0, 5, 20, .42), inset 0 1px rgba(255, 255, 255, .055); animation: di-admission-rise .72s .14s cubic-bezier(.2, .8, .2, 1) both; }
.di-admission-card { min-height: 620px; display: flex; flex-direction: column; padding: 42px; }
.di-admission-card__glow { position: absolute; width: 480px; height: 480px; top: -285px; right: -180px; border-radius: 50%; background: rgba(28, 154, 242, .14); filter: blur(5px); pointer-events: none; }
.di-admission-card::after { content: ""; position: absolute; z-index: 0; right: -52px; bottom: -68px; width: 280px; height: 280px; border: 1px solid rgba(73, 183, 248, .08); border-radius: 50%; box-shadow: 0 0 0 42px rgba(73, 183, 248, .025), 0 0 0 84px rgba(73, 183, 248, .018); pointer-events: none; }
.di-admission-card > *:not(.di-admission-card__glow) { position: relative; z-index: 1; }
.di-admission-card > header { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 17px; padding-bottom: 32px; border-bottom: 1px solid rgba(73, 168, 230, .22); }
.di-admission-seal { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(71, 194, 255, .4); border-radius: 19px; background: linear-gradient(145deg, rgba(10, 106, 199, .5), rgba(8, 51, 94, .65)); color: #70d8ff; box-shadow: inset 0 1px rgba(255, 255, 255, .09), 0 14px 35px rgba(0, 73, 140, .18); }
.di-admission-seal svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.di-admission-card > header small,
.di-admission-card > header strong { display: block; }
.di-admission-card > header small { margin-bottom: 6px; color: #86dcff; font-size: 11px; font-weight: 780; letter-spacing: .11em; text-transform: uppercase; }
.di-admission-card > header strong { color: #f3faff; font-size: 18px; font-weight: 750; }
.di-admission-card__status { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; background: rgba(34, 196, 139, .16); color: #8cebc9; font-size: 12px; font-weight: 760; }
.di-admission-card__status i { width: 7px; height: 7px; border-radius: 50%; background: #52d9aa; box-shadow: 0 0 12px rgba(82, 217, 170, .7); }
.di-admission-card__body { position: relative; flex: 1; padding: 44px 0 30px; }
.di-admission-card__monogram { position: absolute; top: 38px; right: 0; display: flex; align-items: flex-start; gap: 12px; color: rgba(108, 198, 246, .09); pointer-events: none; }
.di-admission-card__monogram span { font-size: clamp(54px, 5vw, 78px); font-weight: 850; letter-spacing: -.07em; line-height: .8; }
.di-admission-card__monogram b { padding-left: 12px; border-left: 1px solid rgba(108, 198, 246, .1); font-size: 19px; line-height: .78; }
.di-admission-card__body > p:first-of-type { margin: 0 0 10px; color: #91abc2; font-size: 13px; }
.di-admission-card__body h3 { position: relative; max-width: 74%; margin: 0; font-size: clamp(38px, 3.4vw, 54px); font-weight: 800; letter-spacing: -.048em; line-height: 1.02; text-wrap: balance; }
.di-admission-program { display: grid; grid-template-columns: 1fr 180px; gap: 14px; margin-top: 36px; }
.di-admission-program > div { min-width: 0; padding: 20px; border: 1px solid rgba(72, 163, 226, .26); border-radius: 17px; background: rgba(2, 17, 35, .52); }
.di-admission-program small,
.di-admission-program strong { display: block; }
.di-admission-program small { margin-bottom: 9px; color: #9cb1c4; font-size: 11px; font-weight: 690; letter-spacing: .07em; text-transform: uppercase; }
.di-admission-program strong { overflow: hidden; color: #eef9ff; font-size: 16px; font-weight: 730; text-overflow: ellipsis; white-space: nowrap; }
.di-admission-card__note { max-width: 650px; margin: 21px 0 0; color: #a0b5c7; font-size: 12px; line-height: 1.55; }
.di-admission-card__actions { display: flex; align-items: stretch; gap: 12px; }
.di-admission-card__actions .di-button--primary,
.di-access-card .di-button--primary,
.di-admission-verification .di-button--primary { border-color: #43baff; background: linear-gradient(135deg, #066bc8, #0879bf); color: #fff; box-shadow: 0 14px 34px rgba(0, 105, 194, .2), inset 0 1px rgba(255, 255, 255, .18); }
.di-admission-card__actions .di-button { flex: 1; justify-content: flex-start; min-height: 74px; padding-inline: 24px; text-align: left; }
.di-admission-card__actions .di-button svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.di-admission-card__actions .di-button span,
.di-admission-card__actions .di-button small { display: block; }
.di-admission-card__actions .di-button span { font-size: 15px; }
.di-admission-card__actions .di-button small { margin-top: 5px; color: #d0e9f7; font-size: 11px; font-weight: 580; }
.di-admission-verify-button { min-height: 74px; padding: 0 24px; border: 1px solid rgba(85, 184, 246, .42); border-radius: 16px; background: rgba(6, 33, 64, .72); color: #e3f4fd; font: inherit; font-size: 13px; font-weight: 730; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.di-admission-verify-button:hover,
.di-admission-verify-button:focus-visible { border-color: #52c9ff; background: rgba(9, 62, 112, .72); transform: translateY(-2px); }
.di-admission-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 26px -42px -42px; padding: 22px 42px; border-top: 1px solid rgba(73, 168, 230, .2); background: rgba(1, 13, 29, .6); }
.di-admission-card > footer span { color: #a0b4c7; font-size: 11px; font-weight: 670; letter-spacing: .07em; text-transform: uppercase; }
.di-admission-card > footer strong { overflow: hidden; color: #9ee5ff; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }

.di-access-card { min-height: 620px; padding: 38px; animation-delay: .2s; }
.di-access-card__step { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.di-access-card__step span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(78, 191, 249, .38); border-radius: 13px; background: rgba(14, 91, 153, .3); color: #88ddff; font-size: 11px; font-weight: 810; }
.di-access-card__step p { margin: 0; color: #a0b7ca; font-size: 11px; font-weight: 710; letter-spacing: .09em; text-transform: uppercase; }
.di-access-card > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.di-access-card > header small { display: block; margin-bottom: 7px; color: #84dcff; font-size: 11px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.di-access-card > header h3 { margin: 0; font-size: 30px; font-weight: 790; letter-spacing: -.04em; line-height: 1.05; }
.di-access-card > header > span { width: 54px; height: 54px; display: grid; place-items: center; flex: 0 0 54px; border: 1px solid rgba(72, 176, 240, .28); border-radius: 17px; background: rgba(13, 81, 137, .28); color: #6ed5ff; }
.di-access-card > header svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.di-access-card > p { margin: 0 0 26px; color: #afc2d2; font-size: 13px; line-height: 1.58; }
.di-access-application { margin-bottom: 12px; padding: 17px 18px; border: 1px solid rgba(74, 171, 234, .25); border-radius: 15px; background: rgba(3, 20, 40, .58); }
.di-access-application small,
.di-access-application strong { display: block; }
.di-access-application small { margin-bottom: 7px; color: #a9bdce; font-size: 11px; font-weight: 690; letter-spacing: .07em; text-transform: uppercase; }
.di-access-application strong { color: #74d8ff; font-size: 18px; font-weight: 770; }
.di-access-credential { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 18px; border: 1px solid rgba(74, 171, 234, .22); border-radius: 15px; background: rgba(3, 20, 40, .48); }
.di-access-credential + .di-access-credential { margin-top: 10px; }
.di-access-credential small,
.di-access-credential strong { display: block; }
.di-access-credential small { margin-bottom: 7px; color: #a9bdce; font-size: 11px; font-weight: 690; letter-spacing: .06em; text-transform: uppercase; }
.di-access-credential strong { color: #f4faff; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 15px; letter-spacing: .025em; }
.di-access-credential button { min-height: 42px; padding: 0 15px; border: 1px solid rgba(79, 185, 248, .44); border-radius: 11px; background: rgba(11, 71, 124, .44); color: #c4edff; font: inherit; font-size: 11px; font-weight: 730; cursor: pointer; }
.di-access-warning { display: flex; align-items: flex-start; gap: 11px; margin: 19px 0; padding: 14px 15px; border: 1px solid rgba(255, 197, 88, .27); border-radius: 13px; background: rgba(104, 64, 6, .18); }
.di-access-warning > span { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 29px; border-radius: 50%; background: #c48420; color: #fff; font-size: 12px; font-weight: 800; }
.di-access-warning p { margin: 0; color: #e6d6b6; font-size: 11px; line-height: 1.52; }
.di-access-warning strong { color: #ffebbd; }
.di-access-card > .di-button { min-height: 60px; font-size: 13px; }

.di-success-route { display: grid; grid-template-columns: minmax(230px, .62fr) minmax(0, 1.38fr); align-items: center; gap: 34px; margin-top: 28px; padding: 30px 34px; border: 1px solid rgba(69, 155, 218, .22); border-radius: 24px; background: linear-gradient(110deg, rgba(7, 33, 63, .8), rgba(3, 20, 40, .66)); animation: di-admission-rise .7s .28s cubic-bezier(.2, .8, .2, 1) both; }
.di-success-route > header { padding-right: 30px; border-right: 1px solid rgba(75, 168, 226, .2); }
.di-success-route > header p { margin: 0 0 9px; color: #7bd9ff; font-size: 11px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.di-success-route > header h3 { margin: 0; font-size: 24px; font-weight: 760; letter-spacing: -.035em; line-height: 1.15; }
.di-success-next { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.di-success-next li { min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 14px; padding: 6px 22px; }
.di-success-next li + li { border-left: 1px solid rgba(70, 157, 217, .2); }
.di-success-next li > span { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(74, 178, 244, .34); border-radius: 15px; background: rgba(13, 84, 143, .28); color: #7fdcff; font-size: 12px; font-weight: 810; }
.di-success-next li.is-current > span { border-color: rgba(92, 211, 255, .68); background: linear-gradient(145deg, #096bbd, #0a88d3); color: #fff; box-shadow: 0 10px 25px rgba(0, 101, 182, .3); }
.di-success-next small,
.di-success-next strong,
.di-success-next p { display: block; margin: 0; }
.di-success-next small { margin-bottom: 5px; color: #83dcfd; font-size: 11px; font-weight: 730; letter-spacing: .07em; text-transform: uppercase; }
.di-success-next strong { font-size: 14px; font-weight: 740; }
.di-success-next p { margin-top: 6px; color: #9db2c4; font-size: 11px; line-height: 1.48; }

/* Document preparation, shown while an applicant waits to enroll. */
.di-prep { box-sizing: border-box; }
.di-prep[hidden] { display: none !important; }
.di-prep__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.di-prep__heading > div { max-width: 760px; }
.di-prep__eyebrow { margin: 0 0 9px !important; color: #31aeea; font-size: 11px; font-weight: 790; letter-spacing: .13em; text-transform: uppercase; }
.di-prep__heading h2, .di-prep__heading h3 { margin: 0 0 11px; font-size: clamp(26px, 2.8vw, 38px); font-weight: 800; letter-spacing: -.04em; line-height: 1.1; }
.di-prep__heading p:not(.di-prep__eyebrow) { margin: 0; font-size: 14px; line-height: 1.65; }
.di-prep__count { flex: 0 0 auto; padding: 9px 13px; border-radius: 999px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.di-prep__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.di-prep-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 22px; border: 1px solid; border-radius: 19px; transition: transform .2s ease, border-color .2s ease; }
.di-prep-card:hover { transform: translateY(-3px); }
.di-prep-card__top { width: 100%; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 19px; }
.di-prep-card__icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 14px; }
.di-prep-card__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.di-prep-card__number { font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.di-prep-card h3, .di-prep-card h4 { margin: 0 0 7px; font-size: 16px; font-weight: 780; letter-spacing: -.018em; line-height: 1.25; }
.di-prep-card p { flex: 1; margin: 0 0 17px; font-size: 12px; line-height: 1.55; }
.di-prep-card__tag { padding: 6px 9px; border-radius: 7px; font-size: 10px; font-weight: 750; }
.di-prep--success { margin-top: 28px; padding: 33px 34px 35px; border: 1px solid rgba(69, 155, 218, .22); border-radius: 24px; background: linear-gradient(135deg, rgba(7, 33, 63, .84), rgba(3, 20, 40, .76)); animation: di-admission-rise .7s .35s cubic-bezier(.2, .8, .2, 1) both; }
.di-prep--success .di-prep__heading h3 { color: #f4faff; }
.di-prep--success .di-prep__heading p:not(.di-prep__eyebrow) { color: #aabfd0; }
.di-prep--success .di-prep__count { border: 1px solid rgba(91, 201, 255, .22); background: rgba(15, 91, 150, .24); color: #a9e8ff; }
.di-prep--success .di-prep-card { border-color: rgba(80, 173, 232, .22); background: linear-gradient(145deg, rgba(13, 55, 93, .7), rgba(5, 28, 55, .75)); }
.di-prep--success .di-prep-card:hover { border-color: rgba(91, 201, 255, .48); }
.di-prep--success .di-prep-card__icon { border: 1px solid rgba(92, 198, 255, .32); background: rgba(13, 106, 170, .24); color: #81dcff; }
.di-prep--success .di-prep-card__number { color: #6f9ebc; }
.di-prep--success .di-prep-card h4 { color: #f3faff; }
.di-prep--success .di-prep-card p { color: #a8bdcf; }
.di-prep--success .di-prep-card__tag { background: rgba(73, 194, 160, .12); color: #8ce6c7; }
.di-prep--dashboard { max-width: 1180px; margin: 0 auto 48px; padding: 31px; border: 1px solid #d9e6f0; border-radius: 22px; background: #f7fbfe; box-shadow: 0 12px 40px rgba(13, 55, 87, .04); }
.di-prep--dashboard .di-prep__heading h2 { color: #092c4c; }
.di-prep--dashboard .di-prep__heading p:not(.di-prep__eyebrow) { color: #526c80; }
.di-prep--dashboard .di-prep__count { background: #e4f3fb; color: #126599; }
.di-prep--dashboard .di-prep-card { border-color: #d8e7f0; background: #fff; box-shadow: 0 7px 22px rgba(12, 57, 91, .04); }
.di-prep--dashboard .di-prep-card:hover { border-color: #85c8e8; }
.di-prep--dashboard .di-prep-card__icon { background: linear-gradient(145deg, #e9f7ff, #dceefa); color: #0879be; }
.di-prep--dashboard .di-prep-card__number { color: #8aa8bb; }
.di-prep--dashboard .di-prep-card h3 { color: #092c4c; }
.di-prep--dashboard .di-prep-card p { color: #587184; }
.di-prep--dashboard .di-prep-card__tag { background: #eaf7f3; color: #176c54; }
@media (max-width: 900px) { .di-prep__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .di-prep--success, .di-prep--dashboard { padding: 23px 19px; } .di-prep--dashboard { margin: 0 16px 32px; } .di-prep__heading { display: block; } .di-prep__count { display: inline-block; margin-top: 15px; } .di-prep__grid { grid-template-columns: 1fr; } .di-prep-card { padding: 20px; } }
@media (prefers-reduced-motion: reduce) { .di-prep-card { transition: none; } .di-prep-card:hover { transform: none; } }

/* Public verification */
.di-admission-verification { min-height: calc(100vh - 120px); padding: 48px 0 105px; background: radial-gradient(circle at 12% 20%, rgba(12, 117, 211, .12), transparent 30%), linear-gradient(145deg, #020b19, #04152d); color: #f7fbff; }
.di-verification-shell { width: min(1320px, calc(100% - 80px)); }
.di-verification-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(60px, 8vw, 130px); min-height: 660px; }
.di-verification-layout > header { animation: di-admission-rise .65s cubic-bezier(.2, .8, .2, 1) both; }
.di-verification-shield { width: 82px; height: 82px; display: grid; place-items: center; margin-bottom: 26px; border: 1px solid rgba(69, 188, 252, .42); border-radius: 24px; background: linear-gradient(145deg, rgba(12, 108, 203, .42), rgba(5, 42, 80, .64)); box-shadow: 0 0 48px rgba(25, 153, 242, .16); color: #68d3ff; }
.di-verification-shield svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.di-verification-layout > header .di-kicker { margin-bottom: 15px; }
.di-verification-layout > header h2 { margin: 0; font-size: clamp(49px, 4.3vw, 70px); font-weight: 810; letter-spacing: -.052em; line-height: 1; }
.di-verification-layout > header h2 em { background: linear-gradient(110deg, #c7deed, #6bcfff 55%, #1597f6); background-clip: text; -webkit-background-clip: text; color: transparent; font-style: normal; }
.di-verification-layout > header > p:last-child { max-width: 520px; margin: 24px 0 0; color: #aebfd0; font-size: 16px; line-height: 1.6; }

.di-verification-panel { padding: 38px; border: 1px solid rgba(70, 174, 242, .34); border-radius: 28px; background: linear-gradient(155deg, rgba(8, 36, 70, .97), rgba(3, 18, 37, .99)); box-shadow: 0 32px 100px rgba(0, 5, 20, .4), inset 0 1px rgba(255, 255, 255, .05); animation: di-admission-rise .65s .12s cubic-bezier(.2, .8, .2, 1) both; }
#di-admission-verify-form > label { display: block; margin-bottom: 10px; color: #dfeef8; font-size: 12px; font-weight: 700; }
#di-admission-verify-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
#di-admission-verify-form input { min-width: 0; height: 58px; padding: 0 16px; border: 1px solid rgba(99, 166, 218, .42); border-radius: 13px; background: rgba(2, 14, 30, .72); color: #fff; font: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 13px; letter-spacing: .025em; outline: 0; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
#di-admission-verify-form input:focus { border-color: #4cc8ff; background: rgba(4, 26, 51, .9); box-shadow: 0 0 0 4px rgba(46, 177, 248, .13); }
#di-admission-verify-form input::placeholder { color: #647c94; }
#di-admission-verify-form .di-button { min-height: 58px; }
#di-admission-verify-form > small { display: block; margin-top: 8px; color: #758da5; font-size: 9px; }

.di-verification-result { position: relative; overflow: hidden; margin-top: 26px; padding: 27px; border: 1px solid rgba(69, 211, 160, .4); border-radius: 20px; background: linear-gradient(145deg, rgba(8, 76, 65, .4), rgba(4, 25, 45, .82)); animation: di-result-in .45s cubic-bezier(.2, .8, .2, 1) both; }
.di-verification-result[hidden] { display: none; }
.di-verification-result.is-invalid { display: flex; align-items: center; gap: 17px; border-color: rgba(255, 112, 126, .4); background: linear-gradient(145deg, rgba(98, 20, 35, .34), rgba(4, 23, 43, .82)); }
.di-verification-result__seal { width: 58px; height: 58px; display: grid; place-items: center; float: left; margin: 0 17px 14px 0; border: 1px solid rgba(81, 220, 172, .4); border-radius: 17px; background: rgba(32, 173, 126, .18); color: #70e0b9; }
.di-verification-result.is-invalid .di-verification-result__seal { flex: 0 0 58px; margin: 0; border-color: rgba(255, 120, 133, .35); background: rgba(160, 42, 58, .22); color: #ff9eaa; }
.di-verification-result__seal svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.di-verification-result__head p,
.di-verification-result__head h3,
.di-verification-result__head span { display: block; margin: 0; }
.di-verification-result__head p { color: #72deb9; font-size: 9px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
.di-verification-result.is-invalid .di-verification-result__head p { color: #ff9daa; }
.di-verification-result__head h3 { margin-top: 5px; font-size: 23px; font-weight: 760; letter-spacing: -.03em; }
.di-verification-result__head span { margin-top: 5px; color: #96aec3; font-size: 10px; line-height: 1.45; }
.di-verification-result dl { clear: both; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 23px 0; overflow: hidden; border: 1px solid rgba(75, 166, 224, .18); border-radius: 14px; background: rgba(75, 166, 224, .18); }
.di-verification-result dl > div { min-width: 0; padding: 14px 15px; background: rgba(3, 21, 40, .9); }
.di-verification-result dl > div:first-child { grid-column: 1 / -1; }
.di-verification-result dt,
.di-verification-result dd { display: block; margin: 0; }
.di-verification-result dt { margin-bottom: 5px; color: #7590a7; font-size: 8px; font-weight: 680; letter-spacing: .08em; text-transform: uppercase; }
.di-verification-result dd { overflow: hidden; color: #e6f3fb; font-size: 12px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.di-verification-result > .di-button { width: 100%; min-height: 52px; }

.di-verification-privacy { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(71, 158, 219, .2); }
.di-verification-privacy svg { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: #6f92aa; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.di-verification-privacy p,
.di-verification-privacy strong,
.di-verification-privacy span { display: block; margin: 0; }
.di-verification-privacy strong { color: #bed0dd; font-size: 10px; }
.di-verification-privacy span { margin-top: 3px; color: #748ca3; font-size: 9px; }

.di-admission-card button:focus-visible,
.di-admission-card a:focus-visible,
.di-access-card button:focus-visible,
.di-home-verify:focus-visible,
.di-verification-panel button:focus-visible,
.di-verification-panel a:focus-visible { outline: 3px solid rgba(85, 211, 255, .5); outline-offset: 3px; }

@keyframes di-admission-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes di-admission-check { to { stroke-dashoffset: 0; } }
@keyframes di-admission-orbit { to { transform: rotate(360deg); } }
@keyframes di-result-in { from { opacity: 0; transform: translateY(10px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1120px) {
	.di-admission-success .di-success-shell,
	.di-verification-shell { width: calc(100% - 48px); }
	.di-success-layout { grid-template-columns: 1fr 400px; }
	.di-admission-celebration { grid-template-columns: 116px minmax(0, 1fr); gap: 32px; }
	.di-admission-emblem { width: 116px; height: 116px; }
	.di-admission-celebration h2 { font-size: 64px; }
	.di-admission-card { padding: 34px; }
	.di-admission-card > footer { margin-inline: -34px; margin-bottom: -34px; padding-inline: 34px; }
	.di-success-route { grid-template-columns: 1fr; }
	.di-success-route > header { padding: 0 0 22px; border-right: 0; border-bottom: 1px solid rgba(75, 168, 226, .2); }
	.di-success-next li { padding-inline: 18px; }
	.di-verification-layout { gap: 50px; }
}

@media (max-width: 900px) {
	.di-success-layout,
	.di-verification-layout { grid-template-columns: 1fr; }
	.di-admission-card,
	.di-access-card { min-height: 0; }
	.di-verification-layout { gap: 42px; min-height: 0; padding-top: 38px; }
	.di-verification-layout > header > p:last-child { max-width: 680px; }
}

@media (max-width: 680px) {
	.di-admission-success { padding: 42px 0 76px; }
	.di-admission-success .di-success-shell,
	.di-verification-shell { width: calc(100% - 28px); }
	.di-admission-celebration { grid-template-columns: 1fr; gap: 24px; }
	.di-admission-emblem { width: 98px; height: 98px; }
	.di-admission-emblem > span { width: 64px; height: 64px; }
	.di-admission-emblem svg { width: 32px; height: 32px; }
	.di-admission-eyebrow { flex-wrap: wrap; margin-bottom: 14px; }
	.di-admission-celebration h2 { font-size: 46px; }
	.di-admission-celebration__copy > p:last-child { margin-top: 20px; font-size: 15px; }
	.di-admission-proofbar { grid-template-columns: 1fr; margin: 36px 0 20px; border-radius: 19px; }
	.di-admission-proofbar > div { padding: 16px 20px; }
	.di-admission-proofbar > div + div { border-top: 1px solid rgba(73, 177, 241, .2); border-left: 0; }
	.di-admission-card { padding: 24px; border-radius: 23px; }
	.di-admission-card > header { grid-template-columns: 48px minmax(0, 1fr); padding-bottom: 24px; }
	.di-admission-seal { width: 48px; height: 48px; border-radius: 14px; }
	.di-admission-seal svg { width: 25px; height: 25px; }
	.di-admission-card__status { grid-column: 1 / -1; width: fit-content; }
	.di-admission-card__body { padding-top: 34px; }
	.di-admission-card__monogram { display: none; }
	.di-admission-card__body h3 { max-width: 100%; font-size: 36px; }
	.di-admission-program { grid-template-columns: 1fr; }
	.di-admission-program strong { white-space: normal; }
	.di-admission-card__actions { flex-direction: column; }
	.di-admission-card__actions .di-button,
	.di-admission-verify-button { width: 100%; }
	.di-admission-card > footer { align-items: flex-start; flex-direction: column; margin: 22px -24px -24px; padding: 18px 24px; }
	.di-admission-card > footer strong { max-width: 100%; font-size: 11px; }
	.di-access-card { padding: 25px; border-radius: 23px; }
	.di-access-card > header h3 { font-size: 28px; }
	.di-success-route { gap: 22px; padding: 24px; border-radius: 21px; }
	.di-success-route > header { padding-bottom: 20px; }
	.di-success-next { grid-template-columns: 1fr; }
	.di-success-next li { padding: 15px 0; }
	.di-success-next li + li { border-top: 1px solid rgba(70, 157, 217, .2); border-left: 0; }
	.di-admission-verification { padding-top: 28px; }
	.di-verification-layout > header h2 { font-size: 45px; }
	.di-verification-layout > header > p:last-child { font-size: 15px; }
	.di-verification-panel { padding: 24px; border-radius: 23px; }
	#di-admission-verify-form > div { grid-template-columns: 1fr; }
	#di-admission-verify-form .di-button { width: 100%; }
	.di-verification-result { padding: 22px; }
}

@media (max-width: 430px) {
	.di-admission-celebration h2,
	.di-verification-layout > header h2 { font-size: 40px; }
	.di-admission-card__body h3 { font-size: 32px; }
	.di-access-credential { align-items: flex-start; }
	.di-access-credential strong { max-width: 205px; overflow-wrap: anywhere; }
	.di-verification-result dl { grid-template-columns: 1fr; }
	.di-verification-result dl > div:first-child { grid-column: auto; }
	.di-verification-result dd { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
	.di-admission-celebration,
	.di-admission-proofbar,
	.di-admission-card,
	.di-access-card,
	.di-success-route,
	.di-verification-layout > header,
	.di-verification-panel,
	.di-verification-result { animation: none; }
	.di-admission-emblem > i,
	.di-admission-emblem svg { animation: none; }
}

/* Long initial usernames must wrap without pushing their copy buttons away. */
.di-access-credential > div { min-width: 0; flex: 1; }
.di-access-credential strong { max-width: 100%; overflow-wrap: anywhere; }
.di-access-credential button { flex: none; }
