body { background:#f9fafb; }
.navbar-brand { font-weight:700; letter-spacing:.4px; }
.card { border-radius:1rem; }
.badge-lg { font-size:.9rem; padding:.5rem .75rem; border-radius:.75rem; }
.table thead th { background:#f1f5f9; }
.print-only { display:none; }
@media print {
  .no-print { display:none !important; }
  .print-only { display:block !important; }
  body { background:white; }
}
/* Attendance specific styles */
.attendance-status {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
}

.attendance-card {
    border-left: 4px solid #0d6efd;
}

.attendance-present {
    border-left-color: #198754;
}

.attendance-absent {
    border-left-color: #dc3545;
}

.attendance-late {
    border-left-color: #ffc107;
}
@media print {
  .card, .card-body {
    border: none !important;
    box-shadow: none !important;
  }
  .btn, .dropdown, .alert, .row.mb-4, .card.mb-4 {
    display: none !important;
  }
  table {
    font-size: 12px;
  }
  .table-responsive {
    overflow: visible !important;
  }
  a.text-decoration-none {
    color: #000 !important;
    text-decoration: none !important;
  }
}

/* Button state styles */
.btn.disabled {
  pointer-events: none;
  opacity: 0.6;
}

.password-strength {
    display: none;
}

#password:not(:placeholder-shown) + .form-text + .password-strength {
    display: block;
}

.toggle-password {
    border-left: none;
    min-width: 45px;
}

.toggle-password:hover {
    background-color: #e9ecef;
    border-color: #ced4da;
}

.toggle-password:focus {
    box-shadow: none;
    background-color: #e9ecef;
}

.progress {
    background-color: #e9ecef;
    border-radius: 2px;
}

.progress-bar {
    transition: width 0.3s ease;
    border-radius: 2px;
}

/* Improve form accessibility */
.form-control:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Better alert styling */
.alert {
    border: none;
    border-radius: 0.5rem;
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
}

.alert-success {
    background-color: #d1eddd;
    color: #0f5132;
}