body {
    font-family: 'KoHo', sans-serif;
    background-color: #f8f9fa;
     padding-top: 50px; /* เพื่อชดเชยความสูงของ fixed-top navbar */
}

.card {
    border: none;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.btn-primary {
    background-color: #0d6efd;
    border: none;
    border-radius: 10px;
    padding: 12px;
}

#camera-container {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    border-radius: 15px;
    overflow: hidden;
    background: #000;
    position: relative;
}

#video {
    width: 100%;
    transform: scaleX(-1);
}

/* Mirror effect for selfie */
#photo-preview {
    display: none;
    width: 100%;
    border-radius: 15px;
}

#qrcode img {
    border: 10px solid #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* เน้นชื่อกิจกรรมให้ดูมีมิติ */
.display-5 {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

/* ปรับสีพื้นหลังให้เป็นสีประจำคณะ หรือสีที่ดูทางการ */
.bg-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #003d99 100%) !important;
}

/* ป้ายข้อความเตือนความถูกต้อง */
.validation-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: #fff5f5;
    color: #d90429;
    border: 1px solid #f87171;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.88rem;
    font-weight: 600;
    margin-top: 8px;
    box-shadow: 0 2px 6px rgba(217, 4, 41, 0.08);
    animation: shake 0.3s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

/* High contrast active selection highlight using organization primary color (slightly darker) */
.ts-dropdown .option.active,
.ts-dropdown .active,
.ts-dropdown [data-selectable].option.active {
    background-color: #003d99 !important;
    background-color: color-mix(in srgb, var(--bs-primary, #0d6efd) 82%, #000000) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}
.ts-dropdown .option:hover {
    background-color: #002b66 !important;
    background-color: color-mix(in srgb, var(--bs-primary, #0d6efd) 72%, #000000) !important;
    color: #ffffff !important;
}

/* Cursor and hover style for Select Activity modal rows */
#selectActivityModal .activity-item,
#activityListBody tr.activity-item {
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

#selectActivityModal .activity-item:hover,
#activityListBody tr.activity-item:hover {
    cursor: pointer;
    background-color: rgba(13, 110, 253, 0.08) !important;
}

