.attendance-table {
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(13,71,161,0.08);
	background: #fff;
}
.attendance-table thead th {
	background: linear-gradient(90deg, #0d47a1 80%, #ffd700 100%);
	color: #fff;
	font-size: 1.05rem;
	border: none;
}
.attendance-table tbody tr {
	transition: background 0.2s;
}
.attendance-table tbody tr:hover {
	background: #e3f2fd;
}
.attendance-table tbody tr.missed {
	background: #fff8e1 !important;
	color: #b8860b !important;
	font-weight: 500;
}
.attendance-table td, .attendance-table th {
	vertical-align: middle;
	border: none;
}
.nav-tabs .nav-link.active {
	background: #0d47a1 !important;
	color: #fff !important;
	border-color: #0d47a1 #0d47a1 #fff;
}
.nav-tabs .nav-link {
	color: #0d47a1;
	font-weight: 500;
}
.card {
	/* already styled for both user/admin */
}
.table thead th {
	background: #0d47a1;
	color: #fff;
}
.table tbody tr {
	background: #fff;
}
.table tbody tr.missed {
	background: #fff8e1 !important;
	color: #b8860b !important;
}
.btn-success {
	background: #ffd700;
	border-color: #ffd700;
	color: #0d47a1;
}
.btn-success:hover, .btn-success:focus {
	background: #ffec80;
	border-color: #ffd700;
	color: #0d47a1;
}
.btn-outline-primary {
	border-color: #0d47a1;
	color: #0d47a1;
}
.btn-outline-primary:hover {
	background: #0d47a1;
	color: #fff;
}
.btn-outline-success {
	border-color: #ffd700;
	color: #b8860b;
}
.btn-outline-success:hover {
	background: #ffd700;
	color: #0d47a1;
}
.modal-content {
	border: 2px solid #ffd700;
	border-radius: 1rem;
}
.list-group-item.active {
	background: #0d47a1;
	border-color: #0d47a1;
	color: #fff;
}
.badge.bg-success {
	background: #ffd700 !important;
	color: #0d47a1 !important;
}
/* Bootstrap 5 is used for most styling. Add custom overrides here. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
.luxury-bg {
	background: url('../assets/css/luxury-bg.jpg') no-repeat center center fixed;
	background-size: cover;
	min-height: 100vh;
}
body {
	font-family: 'Poppins', Arial, sans-serif;
	background: #0d1a26;
	color: #fff;
}
/* Use Poppins for all headings too */
h1, h2, h3, h4, h5, h6 {
	font-family: 'Poppins', Arial, sans-serif;
	letter-spacing: 0.5px;
}
.navbar, .navbar-light, .navbar-brand {
	background: rgba(13,26,38,0.95) !important;
	color: #FFD700 !important;
	box-shadow: 0 2px 12px rgba(0,0,0,0.12);
	border-radius: 1.2rem;
}
.navbar-brand, .navbar .navbar-brand {
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 1.5rem;
	color: #FFD700 !important;
	border-radius: 1.2rem;
}
.card {
	background: rgba(255,255,255,0.12);
	border: 1.5px solid #FFD700;
	border-radius: 1.5rem !important;
	box-shadow: 0 4px 24px rgba(13,26,38,0.12);
	backdrop-filter: blur(6px);
	color: #fff;
}
.btn-primary, .btn-primary:focus {
	background: linear-gradient(90deg, #0d47a1 60%, #FFD700 100%);
	border: none;
	color: #fff;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(13,71,161,0.10);
}
.btn-primary:hover {
	background: linear-gradient(90deg, #FFD700 60%, #0d47a1 100%);
	color: #0d1a26;
}
.btn-warning, .btn-warning:focus {
	background: #FFD700;
	border: none;
	color: #0d1a26;
	font-weight: 600;
}
.btn-warning:hover {
	background: #ffe066;
	color: #0d1a26;
}
.btn-outline-danger {
	border-color: #FFD700;
	color: #FFD700;
}
.btn-outline-danger:hover {
	background: #FFD700;
	color: #0d1a26;
}
.modal-content {
	border: 2px solid #FFD700;
	border-radius: 1.5rem !important;
	background: rgba(13,26,38,0.98);
	color: #fff;
}
.progress-bar {
	background: linear-gradient(90deg, #0d47a1 60%, #FFD700 100%);
}
.attendance-table {
	border-radius: 1.5rem !important;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(13,71,161,0.08);
	background: rgba(255,255,255,0.10);
	color: #fff;
}
.attendance-table thead th {
	background: linear-gradient(90deg, #0d47a1 80%, #FFD700 100%);
	color: #fff;
	font-size: 1.05rem;
	border: none;
}
.attendance-table tbody tr {
	transition: background 0.2s;
}
.attendance-table tbody tr:hover {
	background: rgba(255,255,255,0.08);
}
.attendance-table tbody tr.missed {
	background: #fff8e1 !important;
	color: #b8860b !important;
	font-weight: 500;
}
.attendance-table td, .attendance-table th {
	vertical-align: middle;
	border: none;
}
input, select, textarea {
	background: rgba(255,255,255,0.15) !important;
	color: #0d1a26 !important;
	border-radius: 0.7rem !important;
	border: 1px solid #FFD700 !important;
}
input:focus, select:focus, textarea:focus {
	border-color: #0d47a1 !important;
	box-shadow: 0 0 0 2px #FFD70033 !important;
}
::-webkit-input-placeholder { color: #b0b0b0; }
::-moz-placeholder { color: #b0b0b0; }
:-ms-input-placeholder { color: #b0b0b0; }
::placeholder { color: #b0b0b0; }
.luxury-logo {
	width: 120px;
	height: 120px;
	object-fit: contain;
	border-radius: 1.2rem;
	box-shadow: 0 2px 8px rgba(255,215,0,0.15);
	background: #fff;
	border: 2px solid #FFD700;
}
/* Add border radius to all containers */
.container, .container-fluid, .row, .col, .col-12, .col-md-6, .col-md-4, .col-md-3, .col-md-2, .col-md-8, .col-md-9, .col-md-10, .col-md-12 {
		border-radius: 1.2rem !important;
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
		transition: padding 0.3s, border-radius 0.3s;
}

/* Admin dashboard sidebar fix */
.admin-sidebar {
	width: 320px;
	min-height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: transparent;
}
.admin-main-content {
	margin-left: 340px;
	transition: margin 0.3s;
}
@media (max-width: 991.98px) {
	.admin-sidebar {
		display: none !important;
	}
	.admin-main-content {
		margin-left: 0 !important;
	}
}
form, .form-control, .input-group, .input-group-text, .btn, .table, .table-responsive {
		border-radius: 1.2rem !important;
		transition: border-radius 0.3s;
}

/* Responsive improvements for Samsung A15 and similar mobile screens */
@media (max-width: 430px) {
	html, body {
		font-size: 15px !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow-x: hidden;
	}
	.container, .container-fluid {
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		border-radius: 0.7rem !important;
	}
	.row, .col, .col-12, .col-md-6, .col-md-4, .col-md-3, .col-md-2, .col-md-8, .col-md-9, .col-md-10, .col-md-12 {
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		border-radius: 0.7rem !important;
	}
	.navbar, .navbar-light, .navbar-brand {
		border-radius: 0.7rem !important;
		padding: 0.5rem 0.7rem !important;
		font-size: 1.1rem !important;
	}
	.card {
		border-radius: 0.8rem !important;
		padding: 0.7rem !important;
		font-size: 1rem !important;
	}
	.luxury-logo {
		width: 70px !important;
		height: 70px !important;
		margin-bottom: 0.5rem !important;
	}
	.attendance-table, .table {
		font-size: 0.95rem !important;
		border-radius: 0.7rem !important;
	}
	.modal-content {
		border-radius: 0.7rem !important;
		padding: 0.5rem !important;
	}
	.btn, .form-control, .input-group, .input-group-text {
		font-size: 1rem !important;
		border-radius: 0.7rem !important;
		padding: 0.4rem 0.7rem !important;
	}
	.nav-tabs .nav-link {
		font-size: 1rem !important;
		padding: 0.5rem 0.7rem !important;
	}
	h1, h2, h3, h4, h5, h6 {
		font-size: 1.1rem !important;
	}
	.progress-bar {
		height: 0.7rem !important;
		border-radius: 0.7rem !important;
	}
	.list-group-item {
		font-size: 1rem !important;
		border-radius: 0.7rem !important;
	}
}

/* Smoother transitions for interactive elements */
.btn, .form-control, .input-group, .input-group-text, .card, .navbar, .modal-content, .attendance-table, .table, .progress-bar {
	transition: all 0.3s cubic-bezier(.4,2,.6,1) !important;
}
.table thead th {
	background: #0d47a1; /* Deep blue */
	color: #fff;
}
.table tbody tr.missed {
	background: #fff8e1 !important; /* Gold tint for missed */
}
.table tbody tr.missed td {
	color: #b8860b !important; /* Gold text */
	font-weight: 500;
}
.card {
	box-shadow: 0 2px 8px rgba(0,0,0,0.07);
	border: 1.5px solid #0d47a1;
	border-radius: 1rem;
}
.navbar, .navbar-light, .navbar-brand {
	background: #0d47a1 !important;
	color: #fff !important;
}
.btn-primary {
	background: #0d47a1;
	border-color: #0d47a1;
}
.btn-primary:hover, .btn-primary:focus {
	background: #1565c0;
	border-color: #1565c0;
}
.btn-warning, .btn-warning:focus {
	background: #ffd700;
	border-color: #ffd700;
	color: #0d47a1;
}
.btn-warning:hover {
	background: #ffec80;
	border-color: #ffd700;
	color: #0d47a1;
}
.btn-outline-danger {
	border-color: #b71c1c;
	color: #b71c1c;
}
.btn-outline-danger:hover {
	background: #b71c1c;
	color: #fff;
}
.modal-content {
	border: 2px solid #ffd700;
	border-radius: 1rem;
}
.progress-bar {
	background: linear-gradient(90deg, #0d47a1 60%, #ffd700 100%);
}
