@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root {
	--navy: #082b5f;
	--ink: #07182d;
	--blue: #2c7be5;
	--green: #00b86b;
	--muted: #7788a2;
	--soft: #eef7ff;
	--line: #d9e2ef;
	--dark: #21313c;
}

* {
	box-sizing: border-box
}

body {
	font-family: Poppins, Arial, sans-serif;
	margin: 0;
	color: #1d2733;
	background: #f7fbff
}

.small-muted {
	color: #7c8da6;
	font-size: .84rem
}

.brand-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 800;
	color: #082b5f;
	letter-spacing: .4px
}

.brand-mark img {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	box-shadow: 0 8px 18px rgba(44, 123, 229, .25)
}

.brand-sub {
	font-size: .75rem;
	letter-spacing: 2px;
	color: #536d8a
}

.btn-navy {
	background: #0b2342;
	color: #fff;
	border: 0
}

.btn-navy:hover {
	background: #123760;
	color: #fff
}

.btn-soft {
	background: #eef7ff;
	color: #0b66d8;
	border: 1px solid #d8eaff
}

.auth-wrap {
	min-height: 100vh;
	display: grid;
	grid-template-columns: 40% 60%;
	background: white
}

.auth-left {
	padding: 78px 7vw
}

.auth-right {
	position: relative;
	overflow: hidden;
	background: #eaf6ff
}

.auth-right:before {
	content: "";
	position: absolute;
	left: -30%;
	top: -18%;
	width: 120%;
	height: 120%;
	background: #fff;
	border-radius: 50%
}

.login-card {
	max-width: 380px;
	margin-top: 60px
}

.input-pill {
	background: #eef7ff;
	border: 0;
	height: 50px;
	border-radius: 8px;
	padding-left: 44px
}

.input-icon {
	position: absolute;
	top: 14px;
	left: 18px
}

.illustration {
	position: absolute;
	right: 16%;
	top: 32%;
	width: 420px;
	height: 230px
}

.book-stack {
	position: absolute;
	width: 330px;
	height: 66px;
	border-radius: 14px;
	background: #27c3b9;
	bottom: 0;
	right: 0;
	box-shadow: 0 -76px 0 #fff inset, 0 0 0 7px #27c3b9 inset
}

.book-stack:before {
	content: "";
	position: absolute;
	width: 330px;
	height: 66px;
	border-radius: 14px;
	border: 8px solid #ff4d83;
	top: -94px;
	left: 20px;
	background: #fff
}

.book-stack:after {
	content: "";
	position: absolute;
	width: 330px;
	height: 66px;
	border-radius: 14px;
	border: 8px solid #18b5aa;
	top: -18px;
	left: 42px;
	background: #fff
}

.dash {
	display: flex;
	grid-template-columns: 250px 1fr;
	min-height: 100vh;
	background: #fff
}

.side {
	border-right: 1px solid #dde7f3;
	background: #fff;
	padding: 24px 22px;
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	width: 250px;
	overflow: auto
}

.main {
	margin-left: 250px;
    width: calc(100% - 245px);
	padding: 28px;
}

.nav-section {
	font-size: .75rem;
	color: #9aabc0;
	margin: 28px 0 12px
}

.side a {
	display: flex;
	gap: 10px;
	align-items: center;
	color: #0d1b2e;
	text-decoration: none;
	padding: 11px 12px;
	border-radius: 10px;
	font-weight: 500;
	margin-bottom: 4px
}

.side a:hover,
.side a.active {
	background: #eef7ff;
	color: #0d6efd
}

.topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 28px
}

.search-box {
	max-width: 360px;
	width: 100%;
	border: 1px solid #dfe7f1;
	border-radius: 10px;
	height: 45px;
	padding: 0 18px
}

.avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	background: linear-gradient(135deg, #ec8dcf, #756be8);
	font-weight: 700
}

.stat-card,
.panel {
	background: #fff;
	border: 1px solid #d9e2ef;
	border-radius: 10px;
	box-shadow: 0 12px 35px rgba(15, 31, 55, .04)
}

.stat-card {
	padding: 24px;
	min-height: 130px
}

.stat-card h3 {
	font-weight: 800
}

.icon-badge {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #eef7ff;
	display: grid;
	place-items: center
}

.layout-grid {
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 22px
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px
}

.table thead th {
	font-size: .82rem;
	color: #111827
}

.progress {
	height: 18px;
	border-radius: 12px;
	background: #e8edf3
}

.right-card {
	border: 1px solid #2c7be5;
	border-radius: 10px;
	padding: 18px;
	margin: 14px 0;
	background: #f7fbff
}

.notice {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 18px
}

.footer {
    height: 46px;
    background-color: #0071c1;
    padding: 15px 0 ;
    margin-bottom: 15px;
}
.shestrong { 
    color: #fbf5df;
    font-weight: 500;
    text-decoration: none;
}
.notice-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: #fff2c7;
	display: grid;
	place-items: center;
	color: #d49300
}

.comet-top {
	background: #0071c1;
	color: #fff;
	padding: 0 6vw;
	height: 106px;
	display: flex;
	align-items: center;
	justify-content: space-between
}

.comet-top a {
	color: #fff;
	text-decoration: none;
	font-weight: 500;
	margin-left: 34px
}

.comet-top a.active {
	color: #ffc400
}

.form-shell {
	max-width: 1180px;
	margin: 42px auto;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25)
}

.form-title {
	text-align: center;
	padding: 15px 20px 10px;
	border-bottom: 1px solid #ccd3dc
}
.form-title h3 {
    font-weight: 600;
    font-size: 22px;
}

.section-head {
	background: #22343d;
	color: #fff;
	text-align: center;
	padding: 10px;
	font-size: 1.25rem;
	font-weight: 600
}

.form-body {
	padding: 34px 70px
}

.required:after {
	content: ' *';
	color: #e53935
}

.print-body {
	background: #ddd;
	padding: 20px
}

.a4 {
	width: 210mm;
	min-height: 297mm;
	background: #fff;
	margin: 0 auto;
	padding: 10mm;
	box-shadow: 0 0 12px rgba(0, 0, 0, .2);
	font-family: 'Times New Roman', serif;
	color: #111
}

.print-actions {
	position: sticky;
	top: 0;
	text-align: center;
	background: #fff;
	padding: 10px;
	z-index: 5
}

.school-line {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	text-align: center
}

.school-logo img, .school-logo {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	border: 2px solid #777;
	display: grid;
	place-items: center;
	font-weight: bold;
	font-size: 11px;
	text-align: center;
	background: #f4fff4
}

.photo-box {
	width: 36mm;
	height: 44mm;
	border: 1px solid #111;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden
}

.photo-box img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.dotted {
	border-bottom: 1px dotted #111;
	display: inline-block;
	min-width: 170px;
	padding: 0 6px
}

.dob-box span,
.mobile-box span {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 35px;
	border: 1px solid #111;
	margin-right: 3px;
    margin-top: 10px;
}

.declaration {
	border-top: 1px dashed #111;
	margin-top: 25px;
	padding-top: 15px;
	text-align: center
}

.admit-card {
	width: 210mm;
	min-height: 148mm;
	background: #fff;
	margin: 40px auto;
	padding: 10mm;
	box-shadow: 0 0 12px rgba(0, 0, 0, .2);
	font-family: 'Times New Roman', serif
}

.signature {
	width: 110px;
	height: 70px;
	object-fit: contain
}

.mobile-only {
	display: none
}

@media(max-width:1100px) {
	.auth-wrap {
		grid-template-columns: 1fr
	}

	.auth-right {
		display: none
	}

	.dash {
		grid-template-columns: 1fr
	}

	.side {
		position: relative;
		width: auto
	}

	.main {
		margin-left: 0
	}

	.layout-grid {
		grid-template-columns: 1fr
	}

	.stats-grid {
		grid-template-columns: 1fr
	}

	.form-body {
		padding: 24px
	}

	.comet-top {
		height: auto;
		padding: 16px;
		display: block
	}

	.comet-top nav {
		margin-top: 12px
	}

	.comet-top a {
		margin: 0 18px 0 0
	}

	.mobile-only {
		display: block
	}
}

@media print {

	body,
	.print-body {
		background: #fff;
		padding: 0
	}

	.print-actions {
		display: none
	}

	.a4,
	.admit-card {
		box-shadow: none;
		margin: 0;
		width: 100%;
		min-height: auto;
		page-break-after: always
	}

	.no-print {
		display: none !important
	}
}