/* School ERP custom styles on top of AdminLTE 3 */
.auth-bg { background: linear-gradient(135deg, #1f4e8c 0%, #3c8dbc 55%, #6fb1e0 100%); }
.login-box .card { border-radius: .5rem; }
.login-logo img { width: 72px; height: 72px; object-fit: contain; background: #fff; border-radius: 50%; padding: 6px; }

.avatar-initials {
  display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
  background: #3c8dbc; color: #fff; font-weight: 600; letter-spacing: .5px;
}
.avatar-sm { width: 2.1rem; height: 2.1rem; font-size: .8rem; }
.avatar-md { width: 3rem; height: 3rem; font-size: 1rem; }
.avatar-lg { width: 90px; height: 90px; font-size: 1.8rem; border: 3px solid rgba(255,255,255,.4); }
.user-panel .avatar-initials { width: 2.1rem; height: 2.1rem; }
.navbar .user-menu .avatar-initials { vertical-align: middle; }
.user-header .avatar-initials { margin: 0 auto; }

.photo-thumb { width: 36px; height: 36px; object-fit: cover; border-radius: 50%; }
.photo-lg { width: 120px; height: 120px; object-fit: cover; border-radius: 50%; border: 3px solid #adb5bd; }
.profile-initials { width: 120px; height: 120px; font-size: 2.4rem; }

.table td, .table th { vertical-align: middle; }
.table-actions { white-space: nowrap; }
.table-actions form { display: inline; }
.dataTables_wrapper .dataTables_filter input { margin-left: 0; }

.att-radio label { margin: 0 .35rem 0 0; font-weight: 500 !important; cursor: pointer; }
.att-grid td, .att-grid th { padding: .2rem .25rem !important; text-align: center; font-size: .75rem; }
.att-grid .name-col { text-align: left; white-space: nowrap; }

.tt-grid td { min-width: 130px; vertical-align: top !important; }
.tt-slot { border-left: 3px solid #3c8dbc; background: #f4f8fb; padding: .3rem .45rem; margin-bottom: .35rem; border-radius: 3px; font-size: .8rem; }
.tt-slot .time { color: #6c757d; font-size: .72rem; }

.marks-input { max-width: 110px; }
.small-box .inner h3 { font-size: clamp(1.25rem, 2.1vw, 1.9rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 575px) { .small-box .inner h3 { font-size: 1.3rem; } }
.collect-form .form-control { margin-bottom: 0 !important; }
.notice-item { border-left: 3px solid #17a2b8; padding-left: .75rem; margin-bottom: 1rem; }
.notice-item:last-child { margin-bottom: 0; }
.nav-sidebar .nav-link p { white-space: nowrap; }
.select2-container--bootstrap4 .select2-selection--single { height: calc(1.8125rem + 2px) !important; }
.text-sm .select2-container--bootstrap4 .select2-selection { font-size: .875rem; }
.card-title { font-weight: 600; }
.required-mark { color: #dc3545; }

@media print {
  .no-print, .main-header, .main-sidebar, .main-footer, .content-header, .btn, .dataTables_filter, .dataTables_length, .dataTables_paginate, .dataTables_info { display: none !important; }
  .content-wrapper { margin-left: 0 !important; background: #fff !important; }
  .card { box-shadow: none !important; border: 0 !important; }
}

.notif-menu { max-width: 360px; }
.notif-menu #notif-list { max-height: 360px; overflow-y: auto; }
.notif-menu .dropdown-item { white-space: normal; }
.btn-google { background: #fff; color: #3c4043; border: 1px solid #dadce0; font-weight: 500; }
.btn-google:hover { background: #f8f9fa; color: #202124; }
.btn-google img { width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; }
