body{ min-height:100vh }
.flex-grow { flex: 1 }
.sticky-top { top: 1em }

.scrollable-menu {
	height: auto;
	max-height: 80vh;
	overflow-x: hidden;
	z-index: 1022;
}
.scrollable-menu::-webkit-scrollbar {
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 4px       
}    
.scrollable-menu::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background-color: lightgray;
	-webkit-box-shadow: 0 0 1px rgba(255,255,255,.75);
	-moz-box-shadow: 0 0 1px rgba(255,255,255,.75);
	box-shadow: 0 0 1px rgba(255,255,255,.75)     
}

.ref:focus{ 
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    outline: 0;
    box-shadow: none;
}

footer { font-size: 14px;}

/* ================= White Card Theme (added) ================= */

body {
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background-color: #f4f6f9;
	color: #333;
}

.gr8-navbar {
	border-bottom: 1px solid #eef0f3;
}

.navbar-brand {
	font-weight: 700;
	letter-spacing: .2px;
}

/* Card */
.gr8-card {
	background: #ffffff;
	border: 1px solid #eef0f3;
	border-radius: 16px;
	box-shadow: 0 4px 18px rgba(20, 20, 43, 0.06);
	transition: box-shadow .25s ease, transform .25s ease;
	overflow: hidden;
}

.gr8-card:hover {
	box-shadow: 0 10px 30px rgba(20, 20, 43, 0.10);
	transform: translateY(-2px);
}

.gr8-card .card-header {
	border-bottom: 1px solid #f0f1f4;
	border-radius: 16px 16px 0 0 !important;
	padding: 1rem 1.25rem;
}

.gr8-card .card-body {
	padding: 1.5rem 1.25rem;
}

/* Buttons */
.btn-primary {
	border-radius: 10px;
	font-weight: 600;
	padding-top: .6rem;
	padding-bottom: .6rem;
	transition: transform .15s ease, box-shadow .15s ease;
}

.btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 123, 255, 0.25);
}

/* Inputs */
.form-control {
	border-radius: 10px;
}

.gr8-input-group .input-group-prepend .input-group-text {
	border-radius: 10px 0 0 10px;
	border-right: none;
}

.gr8-input-group input.form-control {
	border-radius: 0 10px 10px 0;
	border-left: none;
}

.gr8-input-group input.form-control:focus,
.gr8-input-group .input-group-text {
	border-color: #ced4da;
}

/* Math Captcha */
.gr8-math-box {
	background: #f8f9fb;
	border: 1px solid #e7e9ee;
	border-radius: 12px;
	padding: .75rem 1rem;
	gap: .5rem;
	flex-wrap: nowrap;
}

.gr8-math-num {
	font-size: 1.4rem;
	font-weight: 700;
	color: #333;
	min-width: 2rem;
	text-align: center;
}

.gr8-math-op {
	font-size: 1.2rem;
	font-weight: 600;
	color: #6c757d;
}

.gr8-math-input {
	max-width: 90px;
	font-weight: 700;
	border-radius: 8px !important;
}

/* Alerts */
.alert {
	border-radius: 10px;
}

/* Table */
.table th {
	font-weight: 600;
	color: #6c757d;
	border-top: none;
}

