body { font-family: 'Sarabun', sans-serif; background-color: #f8f9fa; color: #343a40; margin: 0; padding: 20px; }
.container { max-width: 960px; margin: 20px auto; background: #ffffff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
h1, h2, h3 { color: #0056b3; margin-bottom: 20px; }
form { display: flex; flex-direction: column; gap: 15px; }
label { font-weight: bold; color: #555; }
input[type="text"], input[type="email"], input[type="password"], input[type="date"], select, textarea {
    padding: 12px; border: 1px solid #ced4da; border-radius: 5px; font-size: 16px; width: 100%; box-sizing: border-box;
}
input[type="radio"] { margin-right: 5px; }
.rating label { display: inline-block; margin-right: 15px; font-weight: normal; }
button, .btn {
    background-color: #007bff; color: white; padding: 12px 20px; border: none; border-radius: 5px;
    cursor: pointer; font-size: 16px; text-decoration: none; text-align: center; display: inline-block;
    transition: background-color 0.2s ease-in-out;
}
button:hover, .btn:hover { background-color: #0056b3; }

.btn-green { background-color: #28a745; }
.btn-green:hover { background-color: #218838; }
.btn-red { background-color: #dc3545; }
.btn-red:hover { background-color: #c82333; }
.btn-blue { background-color: #17a2b8; }
.btn-blue:hover { background-color: #138496; }
.btn-warning { background-color: #ffc107; color: #343a40; }
.btn-warning:hover { background-color: #e0a800; }

table { width: 100%; border-collapse: collapse; margin-top: 20px; background: #fff; border: 1px solid #dee2e6; }
th, td { border: 1px solid #dee2e6; padding: 12px; text-align: left; }
th { background-color: #e9ecef; color: #495057; font-weight: bold; }
tr:nth-child(even) { background-color: #f8f9fa; }
.message { padding: 15px; margin-bottom: 20px; border-radius: 5px; font-size: 1.1em; }
.message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.status-tag { padding: 5px 10px; border-radius: 4px; font-weight: bold; display: inline-block; }
.status-tag.registered { background-color: #e0f7fa; color: #007bff; }
.status-tag.submitted { background-color: #fff3cd; color: #ffc107; }
.status-tag.approved { background-color: #d4edda; color: #28a745; }
.status-tag.rejected { background-color: #f8d7da; color: #dc3545; }
.action-buttons a { margin-right: 5px; }
.navbar { background-color: #343a40; padding: 10px 0; margin-bottom: 20px; }
.navbar ul { list-style-type: none; margin: 0; padding: 0; display: flex; justify-content: center; }
.navbar ul li a { color: white; text-decoration: none; padding: 10px 15px; display: block; }
.navbar ul li a:hover { background-color: #495057; }