
.row-custom { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.col-custom { padding: 10px; flex: 1 0 0%; box-sizing: border-box; }
.col-md-2 { flex: 0 0 16.66%; }
.col-md-3 { flex: 0 0 25%; }
.col-md-4 { flex: 0 0 33.33%; }
.col-md-6 { flex: 0 0 50%; }
.col-md-12 { flex: 0 0 100%; }

@media (max-width: 768px) { .col-md-2, .col-md-3, .col-md-4, .col-md-6 { flex: 0 0 100%; } }

.bg-white-custom { background: #fff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); padding: 40px; margin-bottom: 30px; }
.section-title-custom { background: #f8f9fa; padding: 12px 15px; border-left: 5px solid #0d6efd; margin: 30px 0 20px 0; font-weight: bold; border-radius: 0 4px 4px 0; }
.section-title-custom h5 { margin: 0; color: #333; font-size: 1.1rem; }

.form-label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 0.9rem; color: #444; }
.form-control, .form-select { width: 100%; padding: 10px; border: 1px solid #ced4da; border-radius: 4px; font-size: 1rem; box-sizing: border-box; }
.highlight-field { border: 2px solid #0d6efd; background-color: #f0f7ff; }

.table-responsive { overflow-x: auto; margin-top: 15px; border-radius: 8px; border: 1px solid #dee2e6; }
.table-custom { width: 100%; border-collapse: collapse; background: #fff; min-width: 600px; }
.table-custom th, .table-custom td { padding: 10px; border: 1px solid #dee2e6; text-align: center; }
.table-dark-custom { background: #212529; color: #fff; }

.btn-custom { display: inline-block; padding: 12px 30px; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; border-radius: 6px; transition: all 0.2s; }
.btn-primary-custom { background-color: #0d6efd; color: white; width: 100%; max-width: 400px; }
.btn-outline-custom { background-color: transparent; color: #6c757d; border: 1px solid #6c757d; }

.text-center { text-align: center; }
.mb-4 { margin-bottom: 1.5rem; }
form { max-width: 1200px; margin: 15px auto; padding: 18px 22px; }