body { 
    background: #f8f9fa; 
    padding-top: 20px; 
    font-size: 115%; 
}
h2, h3, table, input, button, th, td { 
    font-size: 115% !important; 
}
.btn { 
    padding: 0.375rem 0.75rem; 
}
.form-container { 
    max-width: 400px; 
    margin: 20px auto; 
}
.table-container { 
    max-width: 600px; 
    margin: 0 auto; 
}
.persons-table-container { 
    max-width: 400px; 
    margin: 0 20px; 
    font-size: 90% !important; 
}
.persons-table-container table, 
.persons-table-container th, 
.persons-table-container td { 
    font-size: 90% !important; 
    padding: 0.5rem; 
}
.persons-table-container .btn { 
    font-size: 0.8rem !important; 
    padding: 0.25rem 0.5rem; 
}
.btn-loading::after {
    content: '';
    display: inline-block;
    width: 18.4px;
    height: 18.4px;
    border: 2.3px solid #fff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 0.8s linear infinite;
    margin-left: 5.75px;
}
@keyframes spin { to { transform: rotate(360deg); } }
.alert-dismissible { 
    position: fixed; 
    top: 23px; 
    right: 23px; 
    z-index: 1050; 
    font-size: 115%; 
}
@media (max-width: 576px) {
    .table-container, .form-container, .persons-table-container { 
        max-width: 90%; 
        margin: 0 10px; 
    }
    .btn-sm, .persons-table-container .btn { 
        font-size: 0.8rem !important; 
    }
}