.tbp-student-dashboard{background:var(--tbp-color-surface-soft);color:var(--tbp-color-text);min-height:70vh;padding-bottom:clamp(3rem,7vw,6rem)}
.tbp-dashboard-hero{
	background:
		radial-gradient(circle at 78% 20%,rgb(18 120 231 / 16%),transparent 24rem),
		linear-gradient(135deg,#071a32,#12365c);
	color:#fff;
	padding:clamp(3rem,6vw,5.5rem) 0
}
.tbp-dashboard-hero__inner{
	align-items:center;
	display:grid;
	gap:clamp(2rem,5vw,5rem);
	grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)
}
.tbp-dashboard-hero__intro{min-width:0}
.tbp-dashboard-hero h1{
	color:#fff;
	font-size:clamp(2.25rem,4.5vw,4.2rem);
	line-height:1.18;
	margin:.45rem 0 1rem
}
.tbp-dashboard-eyebrow{
	color:var(--tbp-color-gold-500);
	font-weight:800;
	letter-spacing:.04em;
	margin:0;
	text-transform:uppercase
}
.tbp-dashboard-lead{
	color:#dce5ef;
	font-size:clamp(1rem,2vw,1.2rem);
	line-height:1.8;
	margin:0;
	max-width:680px
}
.tbp-dashboard-content{display:grid;gap:2rem;padding-top:clamp(2rem,5vw,4rem)}
.tbp-dashboard-notice{background:var(--tbp-color-gold-100);border:1px solid var(--tbp-color-gold-500);border-radius:var(--tbp-radius-md);color:#704f00;font-weight:700;padding:1rem 1.25rem}
.tbp-dashboard-section-title{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 1rem}
.tbp-dashboard-actions{display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}.tbp-dashboard-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.tbp-dashboard-card{background:var(--tbp-color-surface);border:1px solid var(--tbp-color-border);border-radius:var(--tbp-radius-xl);box-shadow:var(--tbp-shadow-sm);min-width:0;padding:clamp(1.25rem,3vw,2rem)}
.tbp-dashboard-action-card{display:grid;grid-template-columns:auto 1fr;column-gap:1rem}
.tbp-dashboard-action-card>span{align-items:center;background:var(--tbp-color-blue-100);border-radius:50%;color:var(--tbp-color-primary);display:flex;font-size:1.6rem;grid-row:1/4;height:3rem;justify-content:center;width:3rem}
.tbp-dashboard-action-card h3{font-size:1.3rem;margin:0}.tbp-dashboard-action-card p{color:var(--tbp-color-text-muted);margin:.5rem 0 1rem}.tbp-dashboard-action-card a,.tbp-dashboard-protection a{color:var(--tbp-color-primary);font-weight:800;text-decoration:none}
.tbp-dashboard-card__heading{align-items:center;display:flex;gap:.75rem}.tbp-dashboard-card__heading>span{color:var(--tbp-color-primary);font-size:1.35rem}.tbp-dashboard-card h2{font-size:1.45rem;margin:0}
.tbp-dashboard-empty{align-items:flex-start;border:1px dashed var(--tbp-color-border-strong);border-radius:var(--tbp-radius-md);display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem;padding:1.25rem}.tbp-dashboard-empty p{color:var(--tbp-color-text-muted);margin:0}
.tbp-dashboard-button{background:var(--tbp-color-primary);border-radius:var(--tbp-radius-md);color:#fff!important;display:inline-flex;font-weight:800;padding:.8rem 1.2rem;text-decoration:none}.tbp-dashboard-button:hover{background:var(--tbp-color-primary-hover)}
.tbp-dashboard-account dl{display:grid;gap:.85rem;margin:1.35rem 0}.tbp-dashboard-account dl div{align-items:start;border-bottom:1px solid var(--tbp-color-border);display:grid;gap:.5rem;grid-template-columns:minmax(120px,.7fr) 1.3fr;padding-bottom:.85rem}.tbp-dashboard-account dt{color:var(--tbp-color-text-muted);font-weight:700}.tbp-dashboard-account dd{font-weight:700;margin:0;overflow-wrap:anywhere}
.tbp-dashboard-country-badge{display:inline-flex;align-items:center;gap:.55rem;max-width:100%;padding:.28rem .5rem;border:1px solid var(--tbp-color-border);border-radius:999px;background:var(--tbp-color-surface-soft);vertical-align:middle}
.tbp-dashboard-country-badge__flag-box{display:grid;place-items:center;flex:0 0 auto;width:1.55rem;height:1.05rem;overflow:hidden;border:1px solid rgb(14 31 53 / 12%);border-radius:4px;background:#eef3f8}
.tbp-dashboard-country-badge__flag{display:block;width:100% !important;height:100% !important;max-width:none;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none;aspect-ratio:4/3}
.tbp-dashboard-country-badge__label{display:block;color:var(--tbp-color-text);font-size:.92rem;font-weight:800;line-height:1.1;white-space:nowrap}
.tbp-dashboard-progress>div{display:flex;justify-content:space-between}.tbp-dashboard-progress progress{accent-color:var(--tbp-color-success);display:block;height:12px;margin:.65rem 0;width:100%}.tbp-dashboard-progress small{color:var(--tbp-color-text-muted)}
.tbp-dashboard-protection{background:linear-gradient(145deg,var(--tbp-color-navy-900),var(--tbp-color-navy-800));color:#dce5ef}.tbp-dashboard-protection>span{font-size:2rem}.tbp-dashboard-protection h2{color:#fff;margin:.75rem 0}.tbp-dashboard-protection p{color:#dce5ef}.tbp-dashboard-protection a{color:#ffd968}
.tbp-dashboard-gate{align-items:center;display:flex;flex-direction:column;min-height:560px;justify-content:center;padding-block:5rem;text-align:center}.tbp-dashboard-gate__icon{display:inline-flex;color:var(--tbp-color-primary)}.tbp-dashboard-gate h1{font-size:clamp(1.8rem,5vw,3rem);margin:1rem 0}.tbp-dashboard-gate p{color:var(--tbp-color-text-muted);margin:0 0 1.5rem;max-width:580px}
html[data-theme="dark"] .tbp-dashboard-notice{background:#3c310d;color:#ffe89b}html[data-theme="dark"] .tbp-dashboard-action-card>span{background:#123a62}
@media(max-width:760px){.tbp-dashboard-hero__inner{align-items:flex-start;flex-direction:column-reverse}.tbp-dashboard-avatar{height:72px;width:72px}.tbp-dashboard-actions,.tbp-dashboard-grid{grid-template-columns:1fr}.tbp-dashboard-card{border-radius:var(--tbp-radius-lg)}.tbp-dashboard-account dl div{grid-template-columns:1fr}.tbp-dashboard-action-card{grid-template-columns:auto 1fr}.tbp-dashboard-content{gap:1.5rem}.tbp-dashboard-gate{min-height:460px}.tbp-dashboard-country-badge{padding:.24rem .42rem;gap:.42rem}.tbp-dashboard-country-badge__flag-box{width:1.4rem;height:.95rem}.tbp-dashboard-country-badge__label{font-size:.85rem}}


/* Student country identity v0.7.5. */
.tbp-dashboard-country{margin-top:1rem}.tbp-dashboard-country .tbp-country-chip{background:rgb(255 255 255 / 10%);border-color:rgb(255 255 255 / 18%);color:#fff;box-shadow:none}.tbp-dashboard-country .tbp-country-flag{border-color:rgb(255 255 255 / 22%)}


/* Student identity card v0.8.8. */
.tbp-student-id-card{
	position:relative;
	overflow:hidden;
	padding:clamp(1.35rem,2.5vw,2rem);
	border:1px solid rgb(119 189 255 / 62%);
	border-radius:24px;
	background:
		linear-gradient(145deg,rgb(22 58 95 / 96%),rgb(6 31 58 / 96%));
	box-shadow:0 28px 70px rgb(0 0 0 / 24%);
	isolation:isolate
}
.tbp-student-id-card::before{
	position:absolute;
	inset-inline-end:-4rem;
	inset-block-end:-5rem;
	width:17rem;
	height:17rem;
	border:2rem solid rgb(255 255 255 / 3%);
	border-radius:50%;
	content:"";
	z-index:-1
}
.tbp-student-id-card::after{
	position:absolute;
	inset-inline-end:1rem;
	inset-block-start:1rem;
	width:8rem;
	height:8rem;
	content:"";
	background:radial-gradient(circle,rgb(255 255 255 / 8%) 1px,transparent 1.5px);
	background-size:9px 9px;
	opacity:.45;
	z-index:-1
}
.tbp-student-id-card__top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding-bottom:1.2rem;
	border-bottom:1px solid rgb(255 255 255 / 19%)
}
.tbp-student-id-card__title{
	display:flex;
	align-items:center;
	gap:.75rem;
	color:#fff
}
.tbp-student-id-card__title>span{
	display:grid;
	place-items:center;
	width:2.8rem;
	height:2.8rem;
	border-radius:10px;
	background:linear-gradient(145deg,#1f609f,#103d70);
	color:#dcecff;
	box-shadow:0 8px 20px rgb(0 0 0 / 18%)
}
.tbp-student-id-card__title svg{
	width:1.5rem;
	height:1.5rem
}
.tbp-student-id-card__title strong{
	font-size:1.2rem
}
.tbp-student-id-card__country{
	display:flex;
	justify-content:flex-end;
	align-items:flex-start
}
.tbp-student-id-card__country-badge{
	display:inline-flex;
	align-items:center;
	gap:.55rem;
	max-width:100%;
	padding:.38rem .5rem;
	border:1px solid rgb(255 255 255 / 18%);
	border-radius:14px;
	background:rgb(4 24 46 / 52%);
	box-shadow:inset 0 1px 0 rgb(255 255 255 / 6%)
}
.tbp-student-id-card__country-flag-box{
	display:grid;
	place-items:center;
	flex:0 0 auto;
	width:2rem;
	height:1.38rem;
	overflow:hidden;
	border:1px solid rgb(255 255 255 / 22%);
	border-radius:5px;
	background:#102740
}
.tbp-student-id-card__country-flag{
	display:block;
	width:100% !important;
	height:100% !important;
	max-width:none;
	object-fit:cover;
	object-position:center;
	border:0;
	border-radius:0;
	box-shadow:none;
	aspect-ratio:4/3
}
.tbp-student-id-card__country-label{
	display:block;
	color:#fff;
	font-size:.8rem;
	font-weight:800;
	line-height:1.1;
	white-space:nowrap
}
.tbp-student-id-card__identity{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:1.35rem;
	align-items:center;
	padding:1.8rem 0
}
.tbp-student-id-card__avatar{
	width:112px;
	height:112px;
	border:4px solid rgb(255 255 255 / 82%);
	border-radius:50%;
	box-shadow:0 0 0 3px rgb(18 120 231 / 55%),0 16px 30px rgb(0 0 0 / 24%)
}
.tbp-student-id-card__identity h2{
	margin:0;
	color:#fff;
	font-size:clamp(1.45rem,2.4vw,2rem);
	overflow-wrap:anywhere
}
.tbp-student-id-card__identity p{
	margin:.4rem 0 0;
	color:#b9c9dc
}
.tbp-student-id-card__details{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1rem;
	padding-top:1.3rem;
	border-top:1px solid rgb(255 255 255 / 19%)
}
.tbp-student-id-card__details>div{
	display:grid;
	grid-template-columns:auto 1fr;
	column-gap:.65rem;
	align-items:center;
	min-width:0
}
.tbp-student-id-card__details>div>span{
	grid-row:1/3;
	color:#d6e6f8
}
.tbp-student-id-card__details svg{
	width:1.6rem;
	height:1.6rem
}
.tbp-student-id-card__details small{
	color:#91a5bd;
	font-weight:700
}
.tbp-student-id-card__details strong{
	color:#fff;
	font-size:.92rem;
	overflow-wrap:anywhere
}
.tbp-student-id-card__status{
	display:inline-flex;
	justify-self:start;
	padding:.24rem .6rem;
	border-radius:999px;
	background:rgb(34 160 107 / 18%);
	color:#8cf0be!important
}
html[data-theme="dark"] .tbp-student-id-card{
	background:linear-gradient(145deg,#0e2947,#071a31);
	border-color:#356a9d
}
@media(max-width:980px){
	.tbp-dashboard-hero__inner{
		grid-template-columns:1fr
	}
	.tbp-dashboard-hero__intro{
		text-align:center
	}
	.tbp-dashboard-lead{
		margin-inline:auto
	}
}
@media(max-width:620px){
	.tbp-student-id-card{
		padding:1rem;
		border-radius:18px
	}
	.tbp-student-id-card__top{
		align-items:flex-start
	}
	.tbp-student-id-card__title strong{
		font-size:1rem
	}
	.tbp-student-id-card__country{
		justify-content:flex-start
	}
	.tbp-student-id-card__country-badge{
		padding:.32rem .42rem;
		gap:.4rem
	}
	.tbp-student-id-card__country-flag-box{
		width:1.7rem;
		height:1.16rem
	}
	.tbp-student-id-card__country-label{
		font-size:.74rem
	}
	.tbp-student-id-card__identity{
		grid-template-columns:1fr;
		justify-items:center;
		text-align:center
	}
	.tbp-student-id-card__avatar{
		width:90px;
		height:90px
	}
	.tbp-student-id-card__details{
		grid-template-columns:1fr;
		gap:1rem
	}
	.tbp-student-id-card__details>div{
		padding:.65rem 0;
		border-bottom:1px solid rgb(255 255 255 / 10%)
	}
	.tbp-student-id-card__details>div:last-child{
		border-bottom:0
	}
}


/* Student profile access v0.9.2. */
.tbp-dashboard-action-card--profile>span{background:color-mix(in srgb,var(--tbp-color-gold-500) 18%,var(--tbp-color-surface));color:#9a7317}
.tbp-dashboard-action-card--profile>span svg{width:1.55rem;height:1.55rem}
.tbp-dashboard-profile-edit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 1.25rem;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--tbp-color-primary) 35%,var(--tbp-color-border));border-radius:var(--tbp-radius-md);background:color-mix(in srgb,var(--tbp-color-primary) 8%,var(--tbp-color-surface));color:var(--tbp-color-primary);font-weight:800;text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.tbp-dashboard-profile-edit:hover{transform:translateY(-2px);background:var(--tbp-color-primary);color:#fff}
.tbp-dashboard-profile-edit:focus-visible{outline:3px solid color-mix(in srgb,var(--tbp-color-primary) 30%,transparent);outline-offset:3px}
html[data-theme="dark"] .tbp-dashboard-action-card--profile>span{background:#3c310d;color:#ffe89b}
html[data-theme="dark"] .tbp-dashboard-profile-edit{background:#123a62;border-color:#355e89;color:#dcecff}
@media(max-width:980px){.tbp-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.tbp-dashboard-action-card--profile{grid-column:1/-1}}
@media(max-width:760px){.tbp-dashboard-actions{grid-template-columns:1fr}.tbp-dashboard-action-card--profile{grid-column:auto}.tbp-dashboard-profile-edit{width:100%}}
