body {
    background: #f3f8f6;
}
.navbar {
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.update-bar {
    background: #e9fbe5;
    color: #218838;
    font-weight: 500;
    font-size: 1.05rem;
    border-bottom: 2px solid #1abc9c;
    letter-spacing: 0.5px;
}
.header-bar {
    background: #1abc9c;
    color: #fff;
    padding: 18px 0 10px 0;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border-radius: 0 0 8px 8px;
}
.table-section {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.09);
    padding: 28px 18px 18px 18px;
    margin-bottom: 32px;
}
.table thead th {
    background: #198754;
    color: #fff;
    border-bottom: 2px solid #1abc9c;
    font-size: 1.08em;
}
.table-bordered {
    border: 1px solid #e0e0e0;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f6fcf4;
}
.table-hover tbody tr:hover {
    background-color: #e9fbe5;
}
.table td, .table th {
    vertical-align: middle;
}
.result-badge {
    display: inline-block;
    min-width: 36px;
    padding: 0.3em 0.7em;
    border-radius: 16px;
    font-weight: 600;
    font-size: 1.08em;
}
.result-success {
    background: #e9fbe5;
    color: #218838;
}
.result-missing {
    background: #ffe5e5;
    color: #d9534f;
}
.result-warning {
    background: #fffbe5;
    color: #b8860b;
}
.result-danger {
    background: #ffeaea;
    color: #d32f2f;
}
.text-success {
    color: #198754 !important;
}
.text-secondary {
    color: #6c757d !important;
}
.info-box {
    background: #fffbe5;
    border-left: 5px solid #f7c948;
    padding: 18px 18px 12px 18px;
    border-radius: 8px;
    margin-bottom: 24px;
    color: #856404;
    font-size: 1.08em;
}
.section-title {
    font-size: 1.25em;
    font-weight: 600;
    color: #198754;
    margin-bottom: 12px;
}
.contact-section {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.09);
    padding: 28px 18px 18px 18px;
    margin-bottom: 32px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.contact-form label {
    font-weight: 500;
    margin-top: 10px;
}
.contact-form .form-control:required {
    border-left: 3px solid #f7c948;
}
.contact-form .form-check-label {
    margin-right: 18px;
}
.contact-form .btn-primary {
    background: #1abc9c;
    border: none;
}
.contact-form .btn-primary:hover {
    background: #198754;
}
@media (max-width: 576px) {
    h2 { font-size: 1.1rem; }
    .table th, .table td { font-size: 0.93rem; padding: 0.3rem; }
    .header-bar { font-size: 1rem; }
    .table-section { padding: 10px 2px; }
} 